DFT-FE 1.1.0-pre
Density Functional Theory With Finite-Elements
Loading...
Searching...
No Matches
linearAlgebraOperationsDeviceKernels.h File Reference

Go to the source code of this file.

Namespaces

namespace  dftfe
 
namespace  dftfe::linearAlgebraOperationsDevice
 

Functions

template<typename ValueType1, typename ValueType2>
void dftfe::linearAlgebraOperationsDevice::addSubspaceRotatedBlockToX (const dftfe::uInt BDof, const dftfe::uInt BVec, const ValueType1 *rotatedXBlockSP, ValueType2 *X, const dftfe::uInt startingDofId, const dftfe::uInt startingVecId, const dftfe::uInt N, dftfe::utils::deviceStream_t &streamCompute)
 
template<typename ValueType1, typename ValueType2>
void dftfe::linearAlgebraOperationsDevice::copyFromOverlapMatBlockToDPSPBlocks (const dftfe::uInt B, const dftfe::uInt D, const ValueType1 *overlapMatrixBlock, ValueType1 *overlapMatrixBlockDP, ValueType2 *overlapMatrixBlockSP, dftfe::utils::deviceStream_t &streamDataMove)
 
template<typename ValueType1, typename ValueType2>
void dftfe::linearAlgebraOperationsDevice::computeDiagQTimesX (const ValueType1 *diagValues, ValueType2 *X, const dftfe::uInt N, const dftfe::uInt M)
 
template<typename ValueType>
void dftfe::linearAlgebraOperationsDevice::computeResidualDevice (const dftfe::uInt numVectors, const dftfe::uInt numDofs, const dftfe::uInt N, const dftfe::uInt startingVecId, const double *eigenValues, const ValueType *X, const ValueType *Y, double *r)
 
template<typename ValueType>
void dftfe::linearAlgebraOperationsDevice::computeGeneralisedResidualDevice (const dftfe::uInt numVectors, const dftfe::uInt numDofs, const dftfe::uInt N, const dftfe::uInt startingVecId, const ValueType *X, double *residualSqDevice)
 
template<typename ValueType>
void dftfe::linearAlgebraOperationsDevice::setZero (const dftfe::uInt BVec, const dftfe::uInt M, const dftfe::uInt N, ValueType *yVec, const dftfe::uInt startingXVecId)