Namespaces | |
| namespace | blasLapackKernelsInternal |
| namespace | blasWrapper |
| namespace | lapackWrapper |
| namespace | typeInternal |
Classes | |
| struct | BlasQueueTypedef |
| struct | BlasQueueTypedef< dftefe::utils::MemorySpace::DEVICE > |
| struct | BlasQueueTypedef< dftefe::utils::MemorySpace::HOST > |
| struct | BlasQueueTypedef< dftefe::utils::MemorySpace::HOST_PINNED > |
| class | KernelsOneValueType |
| class | KernelsTwoValueTypes |
| namespace class for BlasLapack kernels not present in blaspp. More... | |
| struct | LapackQueueTypedef |
| struct | LapackQueueTypedef< dftefe::utils::MemorySpace::DEVICE > |
| struct | LapackQueueTypedef< dftefe::utils::MemorySpace::HOST > |
| struct | LapackQueueTypedef< dftefe::utils::MemorySpace::HOST_PINNED > |
Typedefs | |
| using | LapackInt = int64_t |
| template<typename ValueType > | |
| using | real_type = typeInternal::real_type< ValueType > |
| template<typename ValueType1 , typename ValueType2 > | |
| using | scalar_type = typeInternal::scalar_type< ValueType1, ValueType2 > |
| template<dftefe::utils::MemorySpace memorySpace> | |
| using | BlasQueue = typename BlasQueueTypedef< memorySpace >::TYPE |
| template<dftefe::utils::MemorySpace memorySpace> | |
| using | LapackQueue = typename LapackQueueTypedef< memorySpace >::LAPACKTYPE |
Enumerations | |
| enum class | Layout { ColMajor , RowMajor } |
| enum class | ScalarOp { Identity , Conj } |
Functions | |
| template<typename ValueType , typename dftefe::utils::MemorySpace memorySpace> | |
| real_type< ValueType > | asum (size_type n, ValueType const *x, size_type incx, LinAlgOpContext< memorySpace > &context) |
| template<typename ValueType , typename dftefe::utils::MemorySpace memorySpace> | |
| real_type< ValueType > | amax (size_type n, ValueType const *x, size_type incx, LinAlgOpContext< memorySpace > &context) |
| template<typename ValueType , typename dftefe::utils::MemorySpace memorySpace> | |
| std::vector< double > | 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 | 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 | 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 , typename dftefe::utils::MemorySpace memorySpace> | |
| void | 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 , dftefe::utils::MemorySpace memorySpace> | |
| void | 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 | 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 | scaleStridedVarBatched (const size_type numMats, const Layout layout, 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 | 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 | 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 | 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 | axpbyBlocked (const size_type n, const size_type blockSize, const scalar_type< ValueType1, ValueType2 > alpha1, const scalar_type< ValueType1, ValueType2 > *alpha, const ValueType1 *x, const scalar_type< ValueType1, ValueType2 > beta1, 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 > | 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 | 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 > | 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 > | 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 | gemm (const char &transA, const char &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 | gemm (const char &transA, const char &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 | gemmStridedVarBatched (const size_type numMats, const char *transA, const char *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 | gemmStridedVarBatched (const size_type numMats, const char *transA, const char *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 | inverse (size_type n, ValueType *A, LinAlgOpContext< memorySpace > &context) |
| template<typename ValueType , typename dftefe::utils::MemorySpace memorySpace> | |
| LapackError | trtri (const char uplo, const char diag, size_type n, ValueType *A, size_type lda, LinAlgOpContext< memorySpace > &context) |
| template<typename ValueType , typename dftefe::utils::MemorySpace memorySpace> | |
| LapackError | potrf (const char uplo, size_type n, ValueType *A, size_type lda, LinAlgOpContext< memorySpace > &context) |
| template<typename ValueType , typename dftefe::utils::MemorySpace memorySpace> | |
| LapackError | steqr (const char 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 | heevd (const char jobz, const char 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 | hegv (size_type itype, const char jobz, const char 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 | gesv (size_type n, size_type nrhs, ValueType *A, size_type lda, ValueType *B, size_type ldb, LinAlgOpContext< memorySpace > &context) |
| template<typename ValueType > | |
| LapackError | inverse (size_type n, ValueType *A, LinAlgOpContext< dftefe::utils::MemorySpace::DEVICE > &context) |
| template<typename ValueType > | |
| LapackError | trtri (const char uplo, const char diag, size_type n, ValueType *A, size_type lda, LinAlgOpContext< dftefe::utils::MemorySpace::DEVICE > &context) |
| template<typename ValueType > | |
| LapackError | potrf (const char uplo, size_type n, ValueType *A, size_type lda, LinAlgOpContext< dftefe::utils::MemorySpace::DEVICE > &context) |
| template<typename ValueType > | |
| LapackError | steqr (const char 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 | heevd (const char jobz, const char uplo, size_type n, ValueType *A, size_type lda, real_type< ValueType > *W, LinAlgOpContext< dftefe::utils::MemorySpace::DEVICE > &context) |
| template<typename ValueType > | |
| LapackError | hegv (size_type itype, const char jobz, const char 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 | gesv (size_type n, size_type nrhs, ValueType *A, size_type lda, ValueType *B, size_type ldb, LinAlgOpContext< dftefe::utils::MemorySpace::DEVICE > &context) |
| EXPLICITLY_INSTANTIATE_1T (float, dftefe::utils::MemorySpace::HOST) | |
| EXPLICITLY_INSTANTIATE_1T (double, dftefe::utils::MemorySpace::HOST) | |
| EXPLICITLY_INSTANTIATE_1T (std::complex< float >, dftefe::utils::MemorySpace::HOST) | |
| EXPLICITLY_INSTANTIATE_1T (std::complex< double >, dftefe::utils::MemorySpace::HOST) | |
| EXPLICITLY_INSTANTIATE_2T (float, float, dftefe::utils::MemorySpace::HOST) | |
| EXPLICITLY_INSTANTIATE_2T (float, double, dftefe::utils::MemorySpace::HOST) | |
| EXPLICITLY_INSTANTIATE_2T (float, std::complex< float >, dftefe::utils::MemorySpace::HOST) | |
| EXPLICITLY_INSTANTIATE_2T (float, std::complex< double >, dftefe::utils::MemorySpace::HOST) | |
| EXPLICITLY_INSTANTIATE_2T (double, float, dftefe::utils::MemorySpace::HOST) | |
| EXPLICITLY_INSTANTIATE_2T (double, double, dftefe::utils::MemorySpace::HOST) | |
| EXPLICITLY_INSTANTIATE_2T (double, std::complex< float >, dftefe::utils::MemorySpace::HOST) | |
| EXPLICITLY_INSTANTIATE_2T (double, std::complex< double >, dftefe::utils::MemorySpace::HOST) | |
| EXPLICITLY_INSTANTIATE_2T (std::complex< float >, float, dftefe::utils::MemorySpace::HOST) | |
| EXPLICITLY_INSTANTIATE_2T (std::complex< float >, double, dftefe::utils::MemorySpace::HOST) | |
| EXPLICITLY_INSTANTIATE_2T (std::complex< float >, std::complex< float >, dftefe::utils::MemorySpace::HOST) | |
| EXPLICITLY_INSTANTIATE_2T (std::complex< float >, std::complex< double >, dftefe::utils::MemorySpace::HOST) | |
| EXPLICITLY_INSTANTIATE_2T (std::complex< double >, float, dftefe::utils::MemorySpace::HOST) | |
| EXPLICITLY_INSTANTIATE_2T (std::complex< double >, double, dftefe::utils::MemorySpace::HOST) | |
| EXPLICITLY_INSTANTIATE_2T (std::complex< double >, std::complex< float >, dftefe::utils::MemorySpace::HOST) | |
| EXPLICITLY_INSTANTIATE_2T (std::complex< double >, std::complex< double >, dftefe::utils::MemorySpace::HOST) | |
| using dftefe::linearAlgebra::blasLapack::BlasQueue = typedef typename BlasQueueTypedef<memorySpace>::TYPE |
| using dftefe::linearAlgebra::blasLapack::LapackInt = typedef int64_t |
| using dftefe::linearAlgebra::blasLapack::LapackQueue = typedef typename LapackQueueTypedef<memorySpace>::LAPACKTYPE |
| using dftefe::linearAlgebra::blasLapack::real_type = typedef typeInternal::real_type<ValueType> |
| using dftefe::linearAlgebra::blasLapack::scalar_type = typedef typeInternal::scalar_type<ValueType1, ValueType2> |
|
strong |
|
strong |
| real_type< ValueType > dftefe::linearAlgebra::blasLapack::amax | ( | size_type | n, |
| ValueType const * | x, | ||
| size_type | incx, | ||
| LinAlgOpContext< memorySpace > & | context | ||
| ) |

| 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.
| [in] | vecSize | size of each vector |
| [in] | numVec | number of vectors in the multi Vector |
| [in] | multiVecData | multi vector data in row major format i.e. vector index is the fastest index |

| void dftefe::linearAlgebra::blasLapack::ascale | ( | const size_type | n, |
| const ValueType1 | alpha, | ||
| const ValueType2 * | x, | ||
| scalar_type< ValueType1, ValueType2 > * | z, | ||
| LinAlgOpContext< memorySpace > & | context | ||
| ) |


| real_type< ValueType > dftefe::linearAlgebra::blasLapack::asum | ( | size_type | n, |
| ValueType const * | x, | ||
| size_type | incx, | ||
| LinAlgOpContext< memorySpace > & | context | ||
| ) |
| 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 | ||
| ) |


| void dftefe::linearAlgebra::blasLapack::axpbyBlocked | ( | const size_type | n, |
| const size_type | blockSize, | ||
| const scalar_type< ValueType1, ValueType2 > | alpha1, | ||
| const scalar_type< ValueType1, ValueType2 > * | alpha, | ||
| const ValueType1 * | x, | ||
| const scalar_type< ValueType1, ValueType2 > | beta1, | ||
| const scalar_type< ValueType1, ValueType2 > * | beta, | ||
| const ValueType2 * | y, | ||
| scalar_type< ValueType1, ValueType2 > * | z, | ||
| LinAlgOpContext< memorySpace > & | context | ||
| ) |


| 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 | ||
| ) |

| 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 | ||
| ) |

| 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 | ||
| ) |


| dftefe::linearAlgebra::blasLapack::EXPLICITLY_INSTANTIATE_1T | ( | double | , |
| dftefe::utils::MemorySpace::HOST | |||
| ) |
| dftefe::linearAlgebra::blasLapack::EXPLICITLY_INSTANTIATE_1T | ( | float | , |
| dftefe::utils::MemorySpace::HOST | |||
| ) |
| dftefe::linearAlgebra::blasLapack::EXPLICITLY_INSTANTIATE_1T | ( | std::complex< double > | , |
| dftefe::utils::MemorySpace::HOST | |||
| ) |
| dftefe::linearAlgebra::blasLapack::EXPLICITLY_INSTANTIATE_1T | ( | std::complex< float > | , |
| dftefe::utils::MemorySpace::HOST | |||
| ) |
| dftefe::linearAlgebra::blasLapack::EXPLICITLY_INSTANTIATE_2T | ( | double | , |
| double | , | ||
| dftefe::utils::MemorySpace::HOST | |||
| ) |
| dftefe::linearAlgebra::blasLapack::EXPLICITLY_INSTANTIATE_2T | ( | double | , |
| float | , | ||
| dftefe::utils::MemorySpace::HOST | |||
| ) |
| dftefe::linearAlgebra::blasLapack::EXPLICITLY_INSTANTIATE_2T | ( | double | , |
| std::complex< double > | , | ||
| dftefe::utils::MemorySpace::HOST | |||
| ) |
| dftefe::linearAlgebra::blasLapack::EXPLICITLY_INSTANTIATE_2T | ( | double | , |
| std::complex< float > | , | ||
| dftefe::utils::MemorySpace::HOST | |||
| ) |
| dftefe::linearAlgebra::blasLapack::EXPLICITLY_INSTANTIATE_2T | ( | float | , |
| double | , | ||
| dftefe::utils::MemorySpace::HOST | |||
| ) |
| dftefe::linearAlgebra::blasLapack::EXPLICITLY_INSTANTIATE_2T | ( | float | , |
| float | , | ||
| dftefe::utils::MemorySpace::HOST | |||
| ) |
| dftefe::linearAlgebra::blasLapack::EXPLICITLY_INSTANTIATE_2T | ( | float | , |
| std::complex< double > | , | ||
| dftefe::utils::MemorySpace::HOST | |||
| ) |
| dftefe::linearAlgebra::blasLapack::EXPLICITLY_INSTANTIATE_2T | ( | float | , |
| std::complex< float > | , | ||
| dftefe::utils::MemorySpace::HOST | |||
| ) |
| dftefe::linearAlgebra::blasLapack::EXPLICITLY_INSTANTIATE_2T | ( | std::complex< double > | , |
| double | , | ||
| dftefe::utils::MemorySpace::HOST | |||
| ) |
| dftefe::linearAlgebra::blasLapack::EXPLICITLY_INSTANTIATE_2T | ( | std::complex< double > | , |
| float | , | ||
| dftefe::utils::MemorySpace::HOST | |||
| ) |
| dftefe::linearAlgebra::blasLapack::EXPLICITLY_INSTANTIATE_2T | ( | std::complex< double > | , |
| std::complex< double > | , | ||
| dftefe::utils::MemorySpace::HOST | |||
| ) |
| dftefe::linearAlgebra::blasLapack::EXPLICITLY_INSTANTIATE_2T | ( | std::complex< double > | , |
| std::complex< float > | , | ||
| dftefe::utils::MemorySpace::HOST | |||
| ) |
| dftefe::linearAlgebra::blasLapack::EXPLICITLY_INSTANTIATE_2T | ( | std::complex< float > | , |
| double | , | ||
| dftefe::utils::MemorySpace::HOST | |||
| ) |
| dftefe::linearAlgebra::blasLapack::EXPLICITLY_INSTANTIATE_2T | ( | std::complex< float > | , |
| float | , | ||
| dftefe::utils::MemorySpace::HOST | |||
| ) |
| dftefe::linearAlgebra::blasLapack::EXPLICITLY_INSTANTIATE_2T | ( | std::complex< float > | , |
| std::complex< double > | , | ||
| dftefe::utils::MemorySpace::HOST | |||
| ) |
| dftefe::linearAlgebra::blasLapack::EXPLICITLY_INSTANTIATE_2T | ( | std::complex< float > | , |
| std::complex< float > | , | ||
| dftefe::utils::MemorySpace::HOST | |||
| ) |
| void dftefe::linearAlgebra::blasLapack::gemm | ( | const char & | transA, |
| const char & | 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 | ||
| ) |

| void dftefe::linearAlgebra::blasLapack::gemm | ( | const char & | transA, |
| const char & | 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 | ||
| ) |

| void dftefe::linearAlgebra::blasLapack::gemmStridedVarBatched | ( | const size_type | numMats, |
| const char * | transA, | ||
| const char * | 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 | ||
| ) |

| void dftefe::linearAlgebra::blasLapack::gemmStridedVarBatched | ( | const size_type | numMats, |
| const char * | transA, | ||
| const char * | 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 | ||
| ) |

| LapackError dftefe::linearAlgebra::blasLapack::gesv | ( | size_type | n, |
| size_type | nrhs, | ||
| ValueType * | A, | ||
| size_type | lda, | ||
| ValueType * | B, | ||
| size_type | ldb, | ||
| LinAlgOpContext< dftefe::utils::MemorySpace::DEVICE > & | context | ||
| ) |

| LapackError dftefe::linearAlgebra::blasLapack::gesv | ( | size_type | n, |
| size_type | nrhs, | ||
| ValueType * | A, | ||
| size_type | lda, | ||
| ValueType * | B, | ||
| size_type | ldb, | ||
| LinAlgOpContext< memorySpace > & | context | ||
| ) |

| 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 | ||
| ) |

| 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$.
| [in] | n | size of the array |
| [in] | x | array |
| [in] | y | array |
| [out] | z | array |


| LapackError dftefe::linearAlgebra::blasLapack::heevd | ( | const char | jobz, |
| const char | uplo, | ||
| size_type | n, | ||
| ValueType * | A, | ||
| size_type | lda, | ||
| real_type< ValueType > * | W, | ||
| LinAlgOpContext< dftefe::utils::MemorySpace::DEVICE > & | context | ||
| ) |

| LapackError dftefe::linearAlgebra::blasLapack::heevd | ( | const char | jobz, |
| const char | uplo, | ||
| size_type | n, | ||
| ValueType * | A, | ||
| size_type | lda, | ||
| real_type< ValueType > * | W, | ||
| LinAlgOpContext< memorySpace > & | context | ||
| ) |

| LapackError dftefe::linearAlgebra::blasLapack::hegv | ( | size_type | itype, |
| const char | jobz, | ||
| const char | uplo, | ||
| size_type | n, | ||
| ValueType * | A, | ||
| size_type | lda, | ||
| ValueType * | B, | ||
| size_type | ldb, | ||
| real_type< ValueType > * | W, | ||
| LinAlgOpContext< dftefe::utils::MemorySpace::DEVICE > & | context | ||
| ) |

| LapackError dftefe::linearAlgebra::blasLapack::hegv | ( | size_type | itype, |
| const char | jobz, | ||
| const char | uplo, | ||
| size_type | n, | ||
| ValueType * | A, | ||
| size_type | lda, | ||
| ValueType * | B, | ||
| size_type | ldb, | ||
| real_type< ValueType > * | W, | ||
| LinAlgOpContext< memorySpace > & | context | ||
| ) |

| LapackError dftefe::linearAlgebra::blasLapack::inverse | ( | size_type | n, |
| ValueType * | A, | ||
| LinAlgOpContext< dftefe::utils::MemorySpace::DEVICE > & | context | ||
| ) |

| LapackError dftefe::linearAlgebra::blasLapack::inverse | ( | size_type | n, |
| ValueType * | A, | ||
| LinAlgOpContext< memorySpace > & | context | ||
| ) |

| 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 | ||
| ) |


| real_type< ValueType > dftefe::linearAlgebra::blasLapack::nrm2 | ( | const size_type | n, |
| ValueType const * | x, | ||
| const size_type | incx, | ||
| LinAlgOpContext< memorySpace > & | context | ||
| ) |

| std::vector< double > dftefe::linearAlgebra::blasLapack::nrms2MultiVector | ( | const size_type | vecSize, |
| const size_type | numVec, | ||
| const ValueType * | multiVecData, | ||
| LinAlgOpContext< memorySpace > & | context | ||
| ) |


| LapackError dftefe::linearAlgebra::blasLapack::potrf | ( | const char | uplo, |
| size_type | n, | ||
| ValueType * | A, | ||
| size_type | lda, | ||
| LinAlgOpContext< dftefe::utils::MemorySpace::DEVICE > & | context | ||
| ) |

| LapackError dftefe::linearAlgebra::blasLapack::potrf | ( | const char | uplo, |
| size_type | n, | ||
| ValueType * | A, | ||
| size_type | lda, | ||
| LinAlgOpContext< memorySpace > & | context | ||
| ) |

| 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.
| [in] | n | size of each vector |
| [in] | alpha | scalr input for the numerator |
| [in] | x | input vector |
| [out] | y | output vector |
| [in] | context | Blas context for GPU operations |

| void dftefe::linearAlgebra::blasLapack::scaleStridedVarBatched | ( | const size_type | numMats, |
| const Layout | layout, | ||
| 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 | ||
| ) |


| LapackError dftefe::linearAlgebra::blasLapack::steqr | ( | const char | jobz, |
| size_type | n, | ||
| real_type< ValueType > * | D, | ||
| real_type< ValueType > * | E, | ||
| ValueType * | Z, | ||
| size_type | ldz, | ||
| LinAlgOpContext< dftefe::utils::MemorySpace::DEVICE > & | context | ||
| ) |

| LapackError dftefe::linearAlgebra::blasLapack::steqr | ( | const char | jobz, |
| size_type | n, | ||
| real_type< ValueType > * | D, | ||
| real_type< ValueType > * | E, | ||
| ValueType * | Z, | ||
| size_type | ldz, | ||
| LinAlgOpContext< memorySpace > & | context | ||
| ) |

| 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 | ||
| ) |

| LapackError dftefe::linearAlgebra::blasLapack::trtri | ( | const char | uplo, |
| const char | diag, | ||
| size_type | n, | ||
| ValueType * | A, | ||
| size_type | lda, | ||
| LinAlgOpContext< dftefe::utils::MemorySpace::DEVICE > & | context | ||
| ) |

| LapackError dftefe::linearAlgebra::blasLapack::trtri | ( | const char | uplo, |
| const char | diag, | ||
| size_type | n, | ||
| ValueType * | A, | ||
| size_type | lda, | ||
| LinAlgOpContext< memorySpace > & | context | ||
| ) |
