22#ifndef dftfeMPICommunicatorP2PKernels_h
23#define dftfeMPICommunicatorP2PKernels_h
29#ifdef DFTFE_WITH_DEVICE
36 template <
typename ValueType, dftfe::utils::MemorySpace memorySpace>
51 template <
typename ValueTypeComm>
68 template <
typename ValueTypeComm>
87 template <
typename ValueTypeComm>
103 template <
typename ValueType1,
typename ValueType2>
106 const ValueType1 *type1Array,
107 ValueType2 * type2Array);
110#ifdef DFTFE_WITH_DEVICE
111 template <
typename ValueType>
116 template <
typename ValueTypeComm>
122 & ownedLocalIndicesForTargetProcs,
128 template <
typename ValueTypeComm>
134 & ownedLocalIndicesForTargetProcs,
150 template <
typename ValueTypeComm>
156 & ownedLocalIndicesForTargetProcs,
169 template <
typename ValueType1,
typename ValueType2>
173 const ValueType1 * type1Array,
174 ValueType2 * type2Array,
Definition MPICommunicatorP2PKernels.h:38
static void copyValueType1ArrToValueType2Arr(const size_type blockSize, const ValueType1 *type1Array, ValueType2 *type2Array)
Function template for copying type1 to type2.
static void accumAddLocallyOwnedContrRecvBufferFromTargetProcs(const MemoryStorage< ValueTypeComm, memorySpace > &recvBuffer, const SizeTypeVector &ownedLocalIndicesForTargetProcs, const size_type blockSize, const size_type locallyOwnedSize, const size_type ghostSize, MemoryStorage< ValueType, memorySpace > &dataArray)
Function template for architecture adaptable accumulate add kernel from recv buffer.
utils::MemoryStorage< size_type, memorySpace > SizeTypeVector
Definition MPICommunicatorP2PKernels.h:40
static void accumInsertLocallyOwnedContrRecvBufferFromTargetProcs(const MemoryStorage< ValueTypeComm, memorySpace > &recvBuffer, const SizeTypeVector &ownedLocalIndicesForTargetProcs, const size_type blockSize, const size_type locallyOwnedSize, const size_type ghostSize, MemoryStorage< ValueType, memorySpace > &dataArray)
Function template for architecture adaptable accumulate insert kernel from recv buffer.
static void gatherLocallyOwnedEntriesSendBufferToTargetProcs(const MemoryStorage< ValueType, memorySpace > &dataArray, const SizeTypeVector &ownedLocalIndicesForTargetProcs, const size_type blockSize, MemoryStorage< ValueTypeComm, memorySpace > &sendBuffer)
Function template for architecture adaptable gather kernel to send buffer.
Definition MemoryStorage.h:33
cudaStream_t deviceStream_t
Definition DeviceTypeConfig.cu.h:27
@ DEVICE
Definition MemorySpaceType.h:36
Definition pseudoPotentialToDftfeConverter.cc:34
unsigned int size_type
Definition TypeConfig.h:6