12 namespace linearAlgebra
19 template <
typename ValueType1,
46 const ValueType1 alpha,
120 const ValueType1 * dA,
121 const ValueType2 * dB,
154 const ValueType1 * A,
155 const ValueType2 * B,
187 const ValueType1 * A,
188 const ValueType2 * B,
203 const ValueType1 * x,
205 const ValueType2 * y,
221 const ValueType1 * x,
223 const ValueType2 * y,
247 const ValueType1 * multiVecDataX,
248 const ValueType2 * multiVecDataY,
255 template <
typename ValueType, dftefe::utils::MemorySpace memorySpace>
268 static std::vector<double>
271 const ValueType *multiVecData);
282 static std::vector<double>
285 const ValueType * multiVecData,
289#ifdef DFTEFE_WITH_DEVICE
290 template <
typename ValueType1,
typename ValueType2>
299 const ValueType2 * x,
310 const ValueType1 alpha,
311 const ValueType2 * x,
316 const ValueType1 * x,
317 const ValueType2 * y,
322 const ValueType1 * x,
323 const ValueType2 * y,
334 const ValueType1 * A,
335 const ValueType2 * B,
341 const ValueType1 * x,
343 const ValueType2 * y,
350 const ValueType1 * multiVecDataX,
351 const ValueType2 * multiVecDataY,
358 template <
typename ValueType>
362 static std::vector<double>
365 const ValueType *multiVecData);
368 static std::vector<double>
372 const ValueType * multiVecData,
Definition: LinAlgOpContext.h:38
Definition: BlasLapackKernels.h:257
static std::vector< double > nrms2MultiVector(size_type vecSize, size_type numVec, const ValueType *multiVecData, LinAlgOpContext< memorySpace > &context)
Template for computing norms of all the numVec vectors in a multi Vector.
Definition: BlasLapackKernels.cpp:495
static std::vector< double > amaxsMultiVector(size_type vecSize, size_type numVec, const ValueType *multiVecData)
Template for computing norms of all the numVec vectors in a multi Vector.
Definition: BlasLapackKernels.cpp:468
namespace class for BlasLapack kernels not present in blaspp.
Definition: BlasLapackKernels.h:23
static void axpby(size_type size, scalar_type< ValueType1, ValueType2 > alpha, const ValueType1 *x, scalar_type< ValueType1, ValueType2 > beta, const ValueType2 *y, scalar_type< ValueType1, ValueType2 > *z)
Template for performing .
Definition: BlasLapackKernels.cpp:333
static void reciprocalX(size_type size, const ValueType1 alpha, const ValueType2 *x, scalar_type< ValueType1, ValueType2 > *z)
Template for performing alpha z = 1 /x$, does not check if x[i] is zero.
Definition: BlasLapackKernels.cpp:109
static 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)
Template for performing In column major storage format: , where is matrix, is ,...
Definition: BlasLapackKernels.cpp:301
static void hadamardProduct(size_type size, const ValueType1 *x, const ValueType2 *y, scalar_type< ValueType1, ValueType2 > *z)
Definition: BlasLapackKernels.cpp:127
static void axpbyBlocked(const size_type size, 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)
Template for performing .
Definition: BlasLapackKernels.cpp:354
static 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)
Template for performing In column major storage format: , where is matrix, is ,...
Definition: BlasLapackKernels.cpp:268
static void dotMultiVector(size_type vecSize, size_type numVec, const ValueType1 *multiVecDataX, const ValueType2 *multiVecDataY, const ScalarOp &opX, const ScalarOp &opY, scalar_type< ValueType1, ValueType2 > *multiVecDotProduct, LinAlgOpContext< memorySpace > &context)
Template for computing dot products numVec vectors in a multi Vector.
Definition: BlasLapackKernels.cpp:381
static void 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 for performing hadamard product of two columns of batches of matrix A and B having num col A...
Definition: BlasLapackKernels.cpp:225
blas::Layout Layout
Definition: BlasLapackTypedef.h:46
blas::scalar_type< ValueType1, ValueType2 > scalar_type
Definition: BlasLapackTypedef.h:70
ScalarOp
Definition: BlasLapackTypedef.h:56
void ascale(const size_type n, const ValueType1 alpha, const ValueType2 *x, scalar_type< ValueType1, ValueType2 > *z, LinAlgOpContext< memorySpace > &context)
Definition: BlasLapack.t.cpp:97
MemorySpace
Definition: MemorySpaceType.h:37
dealii includes
Definition: AtomFieldDataSpherical.cpp:31
unsigned int size_type
Definition: TypeConfig.h:8