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,
53 template <
typename ValueType>
58 const ValueType *sphericalFnTimesWfcDealiiParallelVec,
59 ValueType *sphericalFnTimesWfcPaddedVec,
60 const dftfe::Int *indexMapDealiiParallelNumbering);
62 template <
typename ValueType>
67 const ValueType *sphericalFnTimesWfcPaddedVec,
68 ValueType *sphericalFnTimesWfcDealiiParallelVec,
69 const dftfe::Int *indexMapDealiiParallelNumbering);
71 template <
typename ValueType>
80 &nonLocalContribution,
81 ValueType *TotalContribution,
84 &cellNodeIdMapNonLocalToLocal);
85 template <
typename ValueType>
95 &iElemNonLocalToElemIndexMap,
98 &nonLocalContribution,
99 ValueType *TotalContribution);
101 template <
typename ValueType>
107 const double *scalingVector,
108 ValueType *sphericalFnTimesWfcPadded);
110 template <
typename ValueType>
119 &sphericalFnTimesVectorAllCellsDevice,
122 &mapSphericalFnTimesVectorAllCellsReductionDevice,
124 &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, dftfe::uInt offsetSrc=0, dftfe::uInt offsetDest=0)
void copyToDealiiParallelNonLocalVec(const dftfe::uInt numWfcs, const dftfe::uInt totalEntries, const ValueType *sphericalFnTimesWfcParallelVec, ValueType *sphericalFnTimesWfcDealiiParallelVec, const dftfe::uInt *indexMapDealiiParallelNumbering, const dftfe::uInt dimension=1)
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