LAMA
|
Implementations of methods for lama::BLAS1Interface with OpenMP. More...
#include <OpenMPBLAS1.hpp>
Public Member Functions | |
template<> | |
void | scal (const IndexType n, const float alpha, float *x, const IndexType incX, SyncToken *syncToken) |
scal | |
template<> | |
void | scal (const IndexType n, const double alpha, double *x, const IndexType incX, SyncToken *syncToken) |
template<> | |
float | nrm2 (const IndexType n, const float *x, const IndexType incX, SyncToken *syncToken) |
nrm2 | |
template<> | |
double | nrm2 (const IndexType n, const double *x, const IndexType incX, SyncToken *syncToken) |
template<> | |
float | asum (const IndexType n, const float *x, const IndexType incX, SyncToken *syncToken) |
asum (l1 norm) | |
template<> | |
double | asum (const IndexType n, const double *x, const IndexType incX, SyncToken *syncToken) |
template<> | |
IndexType | iamax (const IndexType n, const float *x, const IndexType incX, SyncToken *syncToken) |
iamax | |
template<> | |
IndexType | iamax (const IndexType n, const double *x, const IndexType incX, SyncToken *syncToken) |
template<> | |
float | viamax (const IndexType n, const float *x, const IndexType incX, SyncToken *syncToken) |
viamax | |
template<> | |
double | viamax (const IndexType n, const double *x, const IndexType incX, SyncToken *syncToken) |
template<> | |
void | swap (const IndexType n, float *x, const IndexType incX, float *y, const IndexType incY, SyncToken *syncToken) |
swap | |
template<> | |
void | swap (const IndexType n, double *x, const IndexType incX, double *y, const IndexType incY, SyncToken *syncToken) |
template<> | |
void | copy (const IndexType n, const float *x, const IndexType incX, float *y, const IndexType incY, SyncToken *syncToken) |
copy | |
template<> | |
void | copy (const IndexType n, const double *x, const IndexType incX, double *y, const IndexType incY, SyncToken *syncToken) |
template<> | |
void | axpy (const IndexType n, const float alpha, const float *x, const IndexType incX, float *y, const IndexType incY, SyncToken *syncToken) |
axpy | |
template<> | |
void | axpy (const IndexType n, const double alpha, const double *x, const IndexType incX, double *y, const IndexType incY, SyncToken *syncToken) |
template<> | |
float | dot (const IndexType n, const float *x, const IndexType incX, const float *y, const IndexType incY, SyncToken *syncToken) |
dot | |
template<> | |
double | dot (const IndexType n, const double *x, const IndexType incX, const double *y, const IndexType incY, SyncToken *syncToken) |
template<> | |
void | rot (const IndexType n, float *x, const IndexType incX, float *y, const IndexType incY, const float c, const float s, SyncToken *syncToken) |
rot | |
template<> | |
void | rot (const IndexType n, double *x, const IndexType incX, double *y, const IndexType incY, const double c, const double s, SyncToken *syncToken) |
template<> | |
void | rotm (const IndexType n, float *x, const IndexType incX, float *y, const IndexType incY, const float *P, SyncToken *syncToken) |
rotm | |
template<> | |
void | rotm (const IndexType n, double *x, const IndexType incX, double *y, const IndexType incY, const double *P, SyncToken *syncToken) |
template<> | |
void | rotg (float *a, float *b, float *c, float *s, SyncToken *syncToken) |
rotg | |
template<> | |
void | rotg (double *a, double *b, double *c, double *s, SyncToken *syncToken) |
template<> | |
void | rotmg (float *d1, float *d2, float *b1, const float b2, float *p, SyncToken *syncToken) |
rotmg | |
template<> | |
void | rotmg (double *d1, double *d2, double *b1, const double b2, double *p, SyncToken *syncToken) |
Static Public Member Functions | |
template<typename T > | |
static void | scal (const IndexType n, const T alpha, T *x, const IndexType incX, SyncToken *syncToken) |
This function is the OpenMP implementation of lama::BLAS1Interface::scal. | |
template<typename T > | |
static T | nrm2 (const IndexType n, const T *x, const IndexType incX, SyncToken *syncToken) |
This function is the OpenMP implementation of lama::BLAS1Interface::nrm2. | |
template<typename T > | |
static T | asum (const IndexType n, const T *x, const IndexType incX, SyncToken *syncToken) |
This function is the OpenMP implementation of lama::BLAS1Interface::asum. | |
template<typename T > | |
static IndexType | iamax (const IndexType n, const T *x, const IndexType incX, SyncToken *syncToken) |
This function is the OpenMP implementation of lama::BLAS1Interface::iamax. | |
template<typename T > | |
static T | viamax (const IndexType n, const T *x, const IndexType incX, SyncToken *syncToken) |
This function is the OpenMP implementation of lama::BLAS1Interface::viamax. | |
template<typename T > | |
static void | swap (const IndexType n, T *y, const IndexType incY, T *x, const IndexType incX, SyncToken *syncToken) |
This function is the OpenMP implementation of lama::BLAS1Interface::swap. | |
template<typename T > | |
static void | copy (const IndexType n, const T *x, const IndexType incX, T *y, const IndexType incY, SyncToken *syncToken) |
This function is the OpenMP implementation of lama::BLAS1Interface::copy. | |
template<typename T > | |
static void | axpy (const IndexType n, const T alpha, const T *x, const IndexType incX, T *y, const IndexType incY, SyncToken *syncToken) |
This function is the OpenMP implementation of lama::BLAS1Interface::axpy. | |
template<typename T > | |
static T | dot (const IndexType n, const T *x, const IndexType incX, const T *y, const IndexType incY, SyncToken *syncToken) |
This function is the OpenMP implementation of lama::BLAS1Interface::dot. | |
template<typename T > | |
static void | sum (const IndexType n, T alpha, const T *x, T beta, const T *y, T *z, SyncToken *syncToken) |
This function is the OpenMP implementation of lama::BLAS1Interface::sum. | |
template<typename T > | |
static void | rot (const IndexType n, T *x, const IndexType incX, T *y, const IndexType incY, const T c, const T s, SyncToken *syncToken) |
This function is the OpenMP implementation of lama::BLAS1Interface::rot. | |
template<typename T > | |
static void | rotm (const IndexType n, T *x, const IndexType incX, T *y, const IndexType incY, const T *P, SyncToken *syncToken) |
This function is the OpenMP implementation of lama::BLAS1Interface::rotm. | |
template<typename T > | |
static void | rotg (T *a, T *b, T *c, T *s, SyncToken *syncToken) |
This function is the OpenMP implementation of lama::BLAS1Interface::rotg. | |
template<typename T > | |
static void | rotmg (T *d1, T *d2, T *b1, const T b2, T *P, SyncToken *syncToken) |
This function is the OpenMP implementation of lama::BLAS1Interface::rotmg. | |
template<typename T > | |
static void | ass (const IndexType n, const T value, T *x, SyncToken *syncToken) |
This function is the OpenMP implementation of lama::BLAS1Interface::ass. | |
Private Member Functions | |
LAMA_LOG_DECL_STATIC_LOGGER (logger) |
Implementations of methods for lama::BLAS1Interface with OpenMP.
template void lama::OpenMPBLAS1::ass< double > | ( | const IndexType | n, |
const T | value, | ||
T * | x, | ||
SyncToken * | syncToken | ||
) | [static] |
This function is the OpenMP implementation of lama::BLAS1Interface::ass.
static T lama::OpenMPBLAS1::asum | ( | const IndexType | n, |
const T * | x, | ||
const IndexType | incX, | ||
SyncToken * | syncToken | ||
) | [static] |
This function is the OpenMP implementation of lama::BLAS1Interface::asum.
Referenced by asum().
float lama::OpenMPBLAS1::asum | ( | const IndexType | n, |
const float * | x, | ||
const IndexType | incX, | ||
SyncToken * | syncToken | ||
) |
asum (l1 norm)
References asum(), F77_incX, F77_incY, F77_N, and F77_sasum().
double lama::OpenMPBLAS1::asum | ( | const IndexType | n, |
const double * | x, | ||
const IndexType | incX, | ||
SyncToken * | syncToken | ||
) |
References asum(), F77_dasum(), F77_incX, F77_incY, and F77_N.
static void lama::OpenMPBLAS1::axpy | ( | const IndexType | n, |
const T | alpha, | ||
const T * | x, | ||
const IndexType | incX, | ||
T * | y, | ||
const IndexType | incY, | ||
SyncToken * | syncToken | ||
) | [static] |
This function is the OpenMP implementation of lama::BLAS1Interface::axpy.
void lama::OpenMPBLAS1::axpy | ( | const IndexType | n, |
const float | alpha, | ||
const float * | x, | ||
const IndexType | incX, | ||
float * | y, | ||
const IndexType | incY, | ||
SyncToken * | syncToken | ||
) |
axpy
References F77_incX, F77_incY, F77_N, and F77_saxpy().
void lama::OpenMPBLAS1::axpy | ( | const IndexType | n, |
const double | alpha, | ||
const double * | x, | ||
const IndexType | incX, | ||
double * | y, | ||
const IndexType | incY, | ||
SyncToken * | syncToken | ||
) |
References F77_daxpy(), F77_incX, F77_incY, and F77_N.
static void lama::OpenMPBLAS1::copy | ( | const IndexType | n, |
const T * | x, | ||
const IndexType | incX, | ||
T * | y, | ||
const IndexType | incY, | ||
SyncToken * | syncToken | ||
) | [static] |
This function is the OpenMP implementation of lama::BLAS1Interface::copy.
void lama::OpenMPBLAS1::copy | ( | const IndexType | n, |
const float * | x, | ||
const IndexType | incX, | ||
float * | y, | ||
const IndexType | incY, | ||
SyncToken * | syncToken | ||
) |
copy
References F77_incX, F77_incY, F77_N, and F77_scopy().
void lama::OpenMPBLAS1::copy | ( | const IndexType | n, |
const double * | x, | ||
const IndexType | incX, | ||
double * | y, | ||
const IndexType | incY, | ||
SyncToken * | syncToken | ||
) |
References F77_dcopy(), F77_incX, F77_incY, and F77_N.
static T lama::OpenMPBLAS1::dot | ( | const IndexType | n, |
const T * | x, | ||
const IndexType | incX, | ||
const T * | y, | ||
const IndexType | incY, | ||
SyncToken * | syncToken | ||
) | [static] |
This function is the OpenMP implementation of lama::BLAS1Interface::dot.
Referenced by dot().
float lama::OpenMPBLAS1::dot | ( | const IndexType | n, |
const float * | x, | ||
const IndexType | incX, | ||
const float * | y, | ||
const IndexType | incY, | ||
SyncToken * | syncToken | ||
) |
dot
References dot(), F77_incX, F77_incY, F77_N, and F77_sdot().
double lama::OpenMPBLAS1::dot | ( | const IndexType | n, |
const double * | x, | ||
const IndexType | incX, | ||
const double * | y, | ||
const IndexType | incY, | ||
SyncToken * | syncToken | ||
) |
References dot(), F77_ddot(), F77_incX, F77_incY, and F77_N.
static IndexType lama::OpenMPBLAS1::iamax | ( | const IndexType | n, |
const T * | x, | ||
const IndexType | incX, | ||
SyncToken * | syncToken | ||
) | [static] |
This function is the OpenMP implementation of lama::BLAS1Interface::iamax.
Referenced by iamax(), lama::LUSolver::piamax_own(), and viamax().
IndexType lama::OpenMPBLAS1::iamax | ( | const IndexType | n, |
const float * | x, | ||
const IndexType | incX, | ||
SyncToken * | syncToken | ||
) |
iamax
References F77_incX, F77_isamax(), F77_N, and iamax().
IndexType lama::OpenMPBLAS1::iamax | ( | const IndexType | n, |
const double * | x, | ||
const IndexType | incX, | ||
SyncToken * | syncToken | ||
) |
References F77_idamax(), F77_incX, F77_N, and iamax().
lama::OpenMPBLAS1::LAMA_LOG_DECL_STATIC_LOGGER | ( | logger | ) | [private] |
static T lama::OpenMPBLAS1::nrm2 | ( | const IndexType | n, |
const T * | x, | ||
const IndexType | incX, | ||
SyncToken * | syncToken | ||
) | [static] |
This function is the OpenMP implementation of lama::BLAS1Interface::nrm2.
Referenced by nrm2().
float lama::OpenMPBLAS1::nrm2 | ( | const IndexType | n, |
const float * | x, | ||
const IndexType | incX, | ||
SyncToken * | syncToken | ||
) |
nrm2
References F77_incX, F77_N, F77_snrm2(), and nrm2().
double lama::OpenMPBLAS1::nrm2 | ( | const IndexType | n, |
const double * | x, | ||
const IndexType | incX, | ||
SyncToken * | syncToken | ||
) |
References F77_dnrm2(), F77_incX, F77_N, and nrm2().
static void lama::OpenMPBLAS1::rot | ( | const IndexType | n, |
T * | x, | ||
const IndexType | incX, | ||
T * | y, | ||
const IndexType | incY, | ||
const T | c, | ||
const T | s, | ||
SyncToken * | syncToken | ||
) | [static] |
This function is the OpenMP implementation of lama::BLAS1Interface::rot.
void lama::OpenMPBLAS1::rot | ( | const IndexType | n, |
float * | x, | ||
const IndexType | incX, | ||
float * | y, | ||
const IndexType | incY, | ||
const float | c, | ||
const float | s, | ||
SyncToken * | syncToken | ||
) |
rot
References F77_incX, F77_incY, F77_N, and F77_srot().
void lama::OpenMPBLAS1::rot | ( | const IndexType | n, |
double * | x, | ||
const IndexType | incX, | ||
double * | y, | ||
const IndexType | incY, | ||
const double | c, | ||
const double | s, | ||
SyncToken * | syncToken | ||
) |
References F77_drot(), F77_incX, F77_incY, and F77_N.
static void lama::OpenMPBLAS1::rotg | ( | T * | a, |
T * | b, | ||
T * | c, | ||
T * | s, | ||
SyncToken * | syncToken | ||
) | [static] |
This function is the OpenMP implementation of lama::BLAS1Interface::rotg.
void lama::OpenMPBLAS1::rotg | ( | float * | a, |
float * | b, | ||
float * | c, | ||
float * | s, | ||
SyncToken * | syncToken | ||
) |
rotg
References F77_srotg().
void lama::OpenMPBLAS1::rotg | ( | double * | a, |
double * | b, | ||
double * | c, | ||
double * | s, | ||
SyncToken * | syncToken | ||
) |
References F77_drotg().
static void lama::OpenMPBLAS1::rotm | ( | const IndexType | n, |
T * | x, | ||
const IndexType | incX, | ||
T * | y, | ||
const IndexType | incY, | ||
const T * | P, | ||
SyncToken * | syncToken | ||
) | [static] |
This function is the OpenMP implementation of lama::BLAS1Interface::rotm.
void lama::OpenMPBLAS1::rotm | ( | const IndexType | n, |
float * | x, | ||
const IndexType | incX, | ||
float * | y, | ||
const IndexType | incY, | ||
const float * | P, | ||
SyncToken * | syncToken | ||
) |
rotm
References F77_incX, F77_incY, F77_N, and F77_srotm().
void lama::OpenMPBLAS1::rotm | ( | const IndexType | n, |
double * | x, | ||
const IndexType | incX, | ||
double * | y, | ||
const IndexType | incY, | ||
const double * | P, | ||
SyncToken * | syncToken | ||
) |
References F77_drotm(), F77_incX, F77_incY, and F77_N.
static void lama::OpenMPBLAS1::rotmg | ( | T * | d1, |
T * | d2, | ||
T * | b1, | ||
const T | b2, | ||
T * | P, | ||
SyncToken * | syncToken | ||
) | [static] |
This function is the OpenMP implementation of lama::BLAS1Interface::rotmg.
void lama::OpenMPBLAS1::rotmg | ( | float * | d1, |
float * | d2, | ||
float * | b1, | ||
const float | b2, | ||
float * | p, | ||
SyncToken * | syncToken | ||
) |
rotmg
References F77_srotmg().
void lama::OpenMPBLAS1::rotmg | ( | double * | d1, |
double * | d2, | ||
double * | b1, | ||
const double | b2, | ||
double * | p, | ||
SyncToken * | syncToken | ||
) |
References F77_drotmg().
void lama::OpenMPBLAS1::scal | ( | const IndexType | n, |
const float | alpha, | ||
float * | x, | ||
const IndexType | incX, | ||
SyncToken * | syncToken | ||
) |
scal
References F77_incX, F77_N, and F77_sscal().
static void lama::OpenMPBLAS1::scal | ( | const IndexType | n, |
const T | alpha, | ||
T * | x, | ||
const IndexType | incX, | ||
SyncToken * | syncToken | ||
) | [static] |
This function is the OpenMP implementation of lama::BLAS1Interface::scal.
Referenced by lama::LUSolver::pgetf2(), and lama::CSRStorage< T >::scaleImpl().
void lama::OpenMPBLAS1::scal | ( | const IndexType | n, |
const double | alpha, | ||
double * | x, | ||
const IndexType | incX, | ||
SyncToken * | syncToken | ||
) |
References F77_dscal(), F77_incX, and F77_N.
template void lama::OpenMPBLAS1::sum< double > | ( | const IndexType | n, |
T | alpha, | ||
const T * | x, | ||
T | beta, | ||
const T * | y, | ||
T * | z, | ||
SyncToken * | syncToken | ||
) | [static] |
This function is the OpenMP implementation of lama::BLAS1Interface::sum.
sum
static void lama::OpenMPBLAS1::swap | ( | const IndexType | n, |
T * | y, | ||
const IndexType | incY, | ||
T * | x, | ||
const IndexType | incX, | ||
SyncToken * | syncToken | ||
) | [static] |
This function is the OpenMP implementation of lama::BLAS1Interface::swap.
Referenced by lama::LUSolver::computeLUFactorization(), and lama::LUSolver::pgetf2().
void lama::OpenMPBLAS1::swap | ( | const IndexType | n, |
float * | x, | ||
const IndexType | incX, | ||
float * | y, | ||
const IndexType | incY, | ||
SyncToken * | syncToken | ||
) |
swap
References F77_incX, F77_incY, F77_N, and F77_sswap().
void lama::OpenMPBLAS1::swap | ( | const IndexType | n, |
double * | x, | ||
const IndexType | incX, | ||
double * | y, | ||
const IndexType | incY, | ||
SyncToken * | syncToken | ||
) |
References F77_dswap(), F77_incX, F77_incY, and F77_N.
static T lama::OpenMPBLAS1::viamax | ( | const IndexType | n, |
const T * | x, | ||
const IndexType | incX, | ||
SyncToken * | syncToken | ||
) | [static] |
This function is the OpenMP implementation of lama::BLAS1Interface::viamax.
float lama::OpenMPBLAS1::viamax | ( | const IndexType | n, |
const float * | x, | ||
const IndexType | incX, | ||
SyncToken * | syncToken | ||
) |
viamax
References F77_incX, F77_isamax(), F77_N, iamax(), and lama::nIndex.
double lama::OpenMPBLAS1::viamax | ( | const IndexType | n, |
const double * | x, | ||
const IndexType | incX, | ||
SyncToken * | syncToken | ||
) |
References F77_idamax(), F77_incX, F77_N, iamax(), and lama::nIndex.