|
template<typename ValueType , typename dftefe::utils::MemorySpace memorySpace> |
real_type< ValueType > | dftefe::linearAlgebra::blasLapack::asum (size_type n, ValueType const *x, size_type incx, LinAlgOpContext< memorySpace > &context) |
|
template<typename ValueType , typename dftefe::utils::MemorySpace memorySpace> |
real_type< ValueType > | dftefe::linearAlgebra::blasLapack::amax (size_type n, ValueType const *x, size_type incx, LinAlgOpContext< memorySpace > &context) |
|
template<typename ValueType , typename dftefe::utils::MemorySpace memorySpace> |
std::vector< double > | dftefe::linearAlgebra::blasLapack::amaxsMultiVector (size_type vecSize, size_type numVec, ValueType const *multiVecData, LinAlgOpContext< memorySpace > &context) |
| Template for computing \( l_{\inf} \) norms of all the numVec vectors in a multi Vector. More...
|
|
template<typename ValueType1 , typename ValueType2 , typename dftefe::utils::MemorySpace memorySpace> |
void | dftefe::linearAlgebra::blasLapack::axpy (size_type n, scalar_type< ValueType1, ValueType2 > alpha, ValueType1 const *x, size_type incx, ValueType2 *y, size_type incy, LinAlgOpContext< memorySpace > &context) |
|
template<typename ValueType1 , typename ValueType2 , typename dftefe::utils::MemorySpace memorySpace> |
void | dftefe::linearAlgebra::blasLapack::reciprocalX (size_type n, const ValueType1 alpha, ValueType2 const *x, scalar_type< ValueType1, ValueType2 > *y, LinAlgOpContext< memorySpace > &context) |
| Template for computing the multiplicative inverse of all the elements of x, does not check if any element is zero computes \f $ y[i] = \frac{alpha}{x[i]} $ \f. More...
|
|
template<typename ValueType1 , typename ValueType2 , dftefe::utils::MemorySpace memorySpace> |
void | dftefe::linearAlgebra::blasLapack::ascale (const size_type n, const ValueType1 alpha, const ValueType2 *x, scalar_type< ValueType1, ValueType2 > *z, LinAlgOpContext< memorySpace > &context) |
|
template<typename ValueType1 , typename ValueType2 , typename dftefe::utils::MemorySpace memorySpace> |
void | dftefe::linearAlgebra::blasLapack::hadamardProduct (size_type n, const ValueType1 *x, const ValueType2 *y, scalar_type< ValueType1, ValueType2 > *z, LinAlgOpContext< memorySpace > &context) |
| Template for performing \( z = \alpha x$
@param[in] size size of the array
@param[in] \) alpha \( scalar
@param[in] x array
@param[out] z array
*/
template <typename ValueType1,
typename ValueType2,
typename dftefe::utils::MemorySpace memorySpace>
void
ascale(size_type n,
ValueType1 alpha,
const ValueType2 * x,
scalar_type<ValueType1, ValueType2> *z,
LinAlgOpContext<memorySpace> & context);
/**
@brief Template for performing \) z_i = x_i * y_i$. More...
|
|
template<typename ValueType1 , typename ValueType2 , typename dftefe::utils::MemorySpace memorySpace> |
void | dftefe::linearAlgebra::blasLapack::hadamardProduct (size_type n, const ValueType1 *x, const ValueType2 *y, const ScalarOp &opx, const ScalarOp &opy, scalar_type< ValueType1, ValueType2 > *z, LinAlgOpContext< memorySpace > &context) |
|
template<typename ValueType1 , typename ValueType2 , dftefe::utils::MemorySpace memorySpace> |
void | dftefe::linearAlgebra::blasLapack::scaleStridedVarBatched (const size_type numMats, const ScalarOp *scalarOpA, const ScalarOp *scalarOpB, const size_type *stridea, const size_type *strideb, const size_type *stridec, const size_type *m, const size_type *n, const size_type *k, const ValueType1 *dA, const ValueType2 *dB, scalar_type< ValueType1, ValueType2 > *dC, LinAlgOpContext< memorySpace > &context) |
|
template<typename ValueType1 , typename ValueType2 , typename dftefe::utils::MemorySpace memorySpace> |
void | dftefe::linearAlgebra::blasLapack::khatriRaoProduct (const Layout layout, const size_type sizeI, const size_type sizeJ, const size_type sizeK, const ValueType1 *A, const ValueType2 *B, scalar_type< ValueType1, ValueType2 > *Z, LinAlgOpContext< memorySpace > &context) |
|
template<typename ValueType1 , typename ValueType2 , typename dftefe::utils::MemorySpace memorySpace> |
void | dftefe::linearAlgebra::blasLapack::transposedKhatriRaoProduct (const Layout layout, const size_type sizeI, const size_type sizeJ, const size_type sizeK, const ValueType1 *A, const ValueType2 *B, scalar_type< ValueType1, ValueType2 > *Z, LinAlgOpContext< memorySpace > &context) |
|
template<typename ValueType1 , typename ValueType2 , dftefe::utils::MemorySpace memorySpace> |
void | dftefe::linearAlgebra::blasLapack::axpby (const size_type n, const scalar_type< ValueType1, ValueType2 > alpha, const ValueType1 *x, const scalar_type< ValueType1, ValueType2 > beta, const ValueType2 *y, scalar_type< ValueType1, ValueType2 > *z, LinAlgOpContext< memorySpace > &context) |
|
template<typename ValueType1 , typename ValueType2 , typename dftefe::utils::MemorySpace memorySpace> |
void | dftefe::linearAlgebra::blasLapack::axpbyBlocked (const size_type n, const size_type blockSize, const scalar_type< ValueType1, ValueType2 > *alpha, const ValueType1 *x, const scalar_type< ValueType1, ValueType2 > *beta, const ValueType2 *y, scalar_type< ValueType1, ValueType2 > *z, LinAlgOpContext< memorySpace > &context) |
|
template<typename ValueType1 , typename ValueType2 , dftefe::utils::MemorySpace memorySpace> |
scalar_type< ValueType1, ValueType2 > | dftefe::linearAlgebra::blasLapack::dot (const size_type n, ValueType1 const *x, const size_type incx, ValueType2 const *y, const size_type incy, LinAlgOpContext< memorySpace > &context) |
|
template<typename ValueType1 , typename ValueType2 , dftefe::utils::MemorySpace memorySpace> |
void | dftefe::linearAlgebra::blasLapack::dotMultiVector (const size_type vecSize, const size_type numVec, const ValueType1 *multiVecDataX, const ValueType2 *multiVecDataY, const ScalarOp &opX, const ScalarOp &opY, scalar_type< ValueType1, ValueType2 > *multiVecDotProduct, LinAlgOpContext< memorySpace > &context) |
|
template<typename ValueType , dftefe::utils::MemorySpace memorySpace> |
real_type< ValueType > | dftefe::linearAlgebra::blasLapack::nrm2 (const size_type n, ValueType const *x, const size_type incx, LinAlgOpContext< memorySpace > &context) |
|
template<typename ValueType , dftefe::utils::MemorySpace memorySpace> |
std::vector< double > | dftefe::linearAlgebra::blasLapack::nrms2MultiVector (const size_type vecSize, const size_type numVec, const ValueType *multiVecData, LinAlgOpContext< memorySpace > &context) |
|
template<typename ValueType1 , typename ValueType2 , dftefe::utils::MemorySpace memorySpace> |
void | dftefe::linearAlgebra::blasLapack::gemm (const Layout layout, const Op transA, const Op transB, const size_type m, const size_type n, const size_type k, const scalar_type< ValueType1, ValueType2 > alpha, ValueType1 const *dA, const size_type ldda, ValueType2 const *dB, const size_type lddb, const scalar_type< ValueType1, ValueType2 > beta, scalar_type< ValueType1, ValueType2 > *dC, const size_type lddc, LinAlgOpContext< memorySpace > &context) |
|
template<typename ValueType1 , typename ValueType2 > |
void | dftefe::linearAlgebra::blasLapack::gemm (const Layout layout, const Op transA, const Op transB, const size_type m, const size_type n, const size_type k, const scalar_type< ValueType1, ValueType2 > alpha, ValueType1 const *dA, const size_type ldda, ValueType2 const *dB, const size_type lddb, const scalar_type< ValueType1, ValueType2 > beta, scalar_type< ValueType1, ValueType2 > *dC, const size_type lddc, LinAlgOpContext< dftefe::utils::MemorySpace::DEVICE > &context) |
|
template<typename ValueType1 , typename ValueType2 , dftefe::utils::MemorySpace memorySpace> |
void | dftefe::linearAlgebra::blasLapack::gemmStridedVarBatched (const Layout layout, const size_type numMats, const Op *transA, const Op *transB, const size_type *stridea, const size_type *strideb, const size_type *stridec, const size_type *m, const size_type *n, const size_type *k, const scalar_type< ValueType1, ValueType2 > alpha, const ValueType1 *dA, const size_type *ldda, const ValueType2 *dB, const size_type *lddb, const scalar_type< ValueType1, ValueType2 > beta, scalar_type< ValueType1, ValueType2 > *dC, const size_type *lddc, LinAlgOpContext< memorySpace > &context) |
|
template<typename ValueType1 , typename ValueType2 > |
void | dftefe::linearAlgebra::blasLapack::gemmStridedVarBatched (const Layout layout, const size_type numMats, const Op *transA, const Op *transB, const size_type *stridea, const size_type *strideb, const size_type *stridec, const size_type *m, const size_type *n, const size_type *k, const scalar_type< ValueType1, ValueType2 > alpha, const ValueType1 *dA, const size_type *ldda, const ValueType2 *dB, const size_type *lddb, const scalar_type< ValueType1, ValueType2 > beta, scalar_type< ValueType1, ValueType2 > *dC, const size_type *lddc, LinAlgOpContext< dftefe::utils::MemorySpace::DEVICE > &context) |
|
template<typename ValueType , typename dftefe::utils::MemorySpace memorySpace> |
LapackError | dftefe::linearAlgebra::blasLapack::inverse (size_type n, ValueType *A, LinAlgOpContext< memorySpace > &context) |
|
template<typename ValueType , typename dftefe::utils::MemorySpace memorySpace> |
LapackError | dftefe::linearAlgebra::blasLapack::trtri (Uplo uplo, Diag diag, size_type n, ValueType *A, size_type lda, LinAlgOpContext< memorySpace > &context) |
|
template<typename ValueType , typename dftefe::utils::MemorySpace memorySpace> |
LapackError | dftefe::linearAlgebra::blasLapack::potrf (Uplo uplo, size_type n, ValueType *A, size_type lda, LinAlgOpContext< memorySpace > &context) |
|
template<typename ValueType , typename dftefe::utils::MemorySpace memorySpace> |
LapackError | dftefe::linearAlgebra::blasLapack::steqr (Job jobz, size_type n, real_type< ValueType > *D, real_type< ValueType > *E, ValueType *Z, size_type ldz, LinAlgOpContext< memorySpace > &context) |
|
template<typename ValueType , typename dftefe::utils::MemorySpace memorySpace> |
LapackError | dftefe::linearAlgebra::blasLapack::heevd (Job jobz, Uplo uplo, size_type n, ValueType *A, size_type lda, real_type< ValueType > *W, LinAlgOpContext< memorySpace > &context) |
|
template<typename ValueType , typename dftefe::utils::MemorySpace memorySpace> |
LapackError | dftefe::linearAlgebra::blasLapack::hegv (size_type itype, Job jobz, Uplo uplo, size_type n, ValueType *A, size_type lda, ValueType *B, size_type ldb, real_type< ValueType > *W, LinAlgOpContext< memorySpace > &context) |
|
template<typename ValueType , typename dftefe::utils::MemorySpace memorySpace> |
LapackError | dftefe::linearAlgebra::blasLapack::gesv (size_type n, size_type nrhs, ValueType *A, size_type lda, LapackInt *ipiv, ValueType *B, size_type ldb, LinAlgOpContext< memorySpace > &context) |
|
template<typename ValueType > |
LapackError | dftefe::linearAlgebra::blasLapack::inverse (size_type n, ValueType *A, LinAlgOpContext< dftefe::utils::MemorySpace::DEVICE > &context) |
|
template<typename ValueType > |
LapackError | dftefe::linearAlgebra::blasLapack::trtri (Uplo uplo, Diag diag, size_type n, ValueType *A, size_type lda, LinAlgOpContext< dftefe::utils::MemorySpace::DEVICE > &context) |
|
template<typename ValueType > |
LapackError | dftefe::linearAlgebra::blasLapack::potrf (Uplo uplo, size_type n, ValueType *A, size_type lda, LinAlgOpContext< dftefe::utils::MemorySpace::DEVICE > &context) |
|
template<typename ValueType > |
LapackError | dftefe::linearAlgebra::blasLapack::steqr (Job jobz, size_type n, real_type< ValueType > *D, real_type< ValueType > *E, ValueType *Z, size_type ldz, LinAlgOpContext< dftefe::utils::MemorySpace::DEVICE > &context) |
|
template<typename ValueType > |
LapackError | dftefe::linearAlgebra::blasLapack::heevd (Job jobz, Uplo uplo, size_type n, ValueType *A, size_type lda, real_type< ValueType > *W, LinAlgOpContext< dftefe::utils::MemorySpace::DEVICE > &context) |
|
template<typename ValueType > |
LapackError | dftefe::linearAlgebra::blasLapack::hegv (size_type itype, Job jobz, Uplo uplo, size_type n, ValueType *A, size_type lda, ValueType *B, size_type ldb, real_type< ValueType > *W, LinAlgOpContext< dftefe::utils::MemorySpace::DEVICE > &context) |
|
template<typename ValueType > |
LapackError | dftefe::linearAlgebra::blasLapack::gesv (size_type n, size_type nrhs, ValueType *A, size_type lda, LapackInt *ipiv, ValueType *B, size_type ldb, LinAlgOpContext< dftefe::utils::MemorySpace::DEVICE > &context) |
|