19#ifndef DFTFE_ATOMICCENTEREDNONLOCALOPERATORDEVICEKERNELS_H
20#define DFTFE_ATOMICCENTEREDNONLOCALOPERATORDEVICEKERNELS_H
32 template <
typename ValueType>
38 const ValueType *sphericalFnTimesWfcParallelVec,
39 ValueType *sphericalFnTimesWfcAllCellsVec,
40 const dftfe::Int *indexMapPaddedToParallelVec);
43 template <
typename ValueType>
48 const ValueType *sphericalFnTimesWfcParallelVec,
49 ValueType *sphericalFnTimesWfcDealiiParallelVec,
50 const dftfe::uInt *indexMapDealiiParallelNumbering);
52 template <
typename ValueType>
57 const ValueType *sphericalFnTimesWfcDealiiParallelVec,
58 ValueType *sphericalFnTimesWfcPaddedVec,
59 const dftfe::Int *indexMapDealiiParallelNumbering);
61 template <
typename ValueType>
66 const ValueType *sphericalFnTimesWfcPaddedVec,
67 ValueType *sphericalFnTimesWfcDealiiParallelVec,
68 const dftfe::Int *indexMapDealiiParallelNumbering);
70 template <
typename ValueType>
79 &nonLocalContribution,
80 ValueType *TotalContribution,
83 &cellNodeIdMapNonLocalToLocal);
84 template <
typename ValueType>
92 &iElemNonLocalToElemIndexMap,
95 &nonLocalContribution,
96 ValueType *TotalContribution);
98 template <
typename ValueType>
104 const double *scalingVector,
105 ValueType *sphericalFnTimesWfcPadded);
107 template <
typename ValueType>
116 &sphericalFnTimesVectorAllCellsDevice,
119 &mapSphericalFnTimesVectorAllCellsReductionDevice,
121 &sphericalFnTimesWavefunctionMatrix);
Definition MemoryStorage.h:33
Definition AtomicCenteredNonLocalOperatorKernelsDevice.h:31
void addNonLocalContribution(const dftfe::uInt numberCellsForAtom, const dftfe::uInt numberNodesPerElement, const dftfe::uInt numberWfc, const dftfe::uInt numberCellsTraversed, const dftfe::utils::MemoryStorage< ValueType, dftfe::utils::MemorySpace::DEVICE > &nonLocalContribution, ValueType *TotalContribution, const dftfe::utils::MemoryStorage< dftfe::uInt, dftfe::utils::MemorySpace::DEVICE > &cellNodeIdMapNonLocalToLocal)
void sqrtAlphaScalingWaveFunctionEntries(const dftfe::uInt maxSingleAtomContribution, const dftfe::uInt numWfcs, const dftfe::uInt totalAtomsInCurrentProcessor, const double *scalingVector, ValueType *sphericalFnTimesWfcPadded)
void copyFromParallelNonLocalVecToAllCellsVec(const dftfe::uInt numWfcs, const dftfe::uInt numNonLocalCells, const dftfe::uInt maxSingleAtomPseudoWfc, const ValueType *sphericalFnTimesWfcParallelVec, ValueType *sphericalFnTimesWfcAllCellsVec, const dftfe::Int *indexMapPaddedToParallelVec)
void assembleAtomLevelContributionsFromCellLevel(const dftfe::uInt numberWaveFunctions, const dftfe::uInt totalNonlocalElems, const dftfe::uInt maxSingleAtomContribution, const dftfe::uInt totalNonlocalEntries, const dftfe::utils::MemoryStorage< ValueType, dftfe::utils::MemorySpace::DEVICE > &sphericalFnTimesVectorAllCellsDevice, const dftfe::utils::MemoryStorage< dftfe::uInt, dftfe::utils::MemorySpace::DEVICE > &mapSphericalFnTimesVectorAllCellsReductionDevice, dftfe::utils::MemoryStorage< ValueType, dftfe::utils::MemorySpace::DEVICE > &sphericalFnTimesWavefunctionMatrix)
void copyToDealiiParallelNonLocalVec(const dftfe::uInt numWfcs, const dftfe::uInt totalEntries, const ValueType *sphericalFnTimesWfcParallelVec, ValueType *sphericalFnTimesWfcDealiiParallelVec, const dftfe::uInt *indexMapDealiiParallelNumbering)
void copyFromDealiiParallelNonLocalVecToPaddedVector(const dftfe::uInt numWfcs, const dftfe::uInt totalEntriesPadded, const ValueType *sphericalFnTimesWfcDealiiParallelVec, ValueType *sphericalFnTimesWfcPaddedVec, const dftfe::Int *indexMapDealiiParallelNumbering)
void copyToDealiiParallelNonLocalVecFromPaddedVector(const dftfe::uInt numWfcs, const dftfe::uInt totalEntriesPadded, const ValueType *sphericalFnTimesWfcPaddedVec, ValueType *sphericalFnTimesWfcDealiiParallelVec, const dftfe::Int *indexMapDealiiParallelNumbering)
@ DEVICE
Definition MemorySpaceType.h:36
Definition pseudoPotentialToDftfeConverter.cc:34
std::uint32_t uInt
Definition TypeConfig.h:10
std::int32_t Int
Definition TypeConfig.h:11