NAMD
|
#include <CudaPmeSolverUtil.h>
Public Member Functions | |
CudaPmeTranspose (PmeGrid pmeGrid, const int permutation, const int jblock, const int kblock, int deviceID, cudaStream_t stream) | |
~CudaPmeTranspose () | |
void | setDataPtrsYZX (std::vector< float2 *> &dataPtrsNew, float2 *data) |
void | setDataPtrsZXY (std::vector< float2 *> &dataPtrsNew, float2 *data) |
void | transposeXYZtoYZX (const float2 *data) |
void | transposeXYZtoZXY (const float2 *data) |
void | waitStreamSynchronize () |
void | copyDataDeviceToHost (const int iblock, float2 *h_data, const int h_dataSize) |
void | copyDataHostToDevice (const int iblock, float2 *data_in, float2 *data_out) |
void | copyDataDeviceToDevice (const int iblock, float2 *data_out) |
float2 * | getBuffer (const int iblock) |
void | copyDataToPeerDeviceYZX (const int iblock, int deviceID_out, int permutation_out, float2 *data_out) |
void | copyDataToPeerDeviceZXY (const int iblock, int deviceID_out, int permutation_out, float2 *data_out) |
![]() | |
PmeTranspose (PmeGrid pmeGrid, const int permutation, const int jblock, const int kblock) | |
virtual | ~PmeTranspose () |
Additional Inherited Members | |
![]() | |
PmeGrid | pmeGrid |
const int | permutation |
const int | jblock |
const int | kblock |
int | isize |
int | jsize |
int | ksize |
int | dataSize |
int | nblock |
std::vector< int > | pos |
Definition at line 158 of file CudaPmeSolverUtil.h.
CudaPmeTranspose::CudaPmeTranspose | ( | PmeGrid | pmeGrid, |
const int | permutation, | ||
const int | jblock, | ||
const int | kblock, | ||
int | deviceID, | ||
cudaStream_t | stream | ||
) |
Definition at line 842 of file CudaPmeSolverUtil.C.
References cudaCheck, PmeTranspose::dataSize, and PmeTranspose::nblock.
CudaPmeTranspose::~CudaPmeTranspose | ( | ) |
void CudaPmeTranspose::copyDataDeviceToDevice | ( | const int | iblock, |
float2 * | data_out | ||
) |
Definition at line 1204 of file CudaPmeSolverUtil.C.
References cudaCheck, getBlockDim(), PmeTranspose::isize, PmeTranspose::jblock, PmeTranspose::jsize, PmeTranspose::kblock, NAMD_bug(), PmeTranspose::nblock, PmeTranspose::permutation, and PmeTranspose::pmeGrid.
void CudaPmeTranspose::copyDataDeviceToHost | ( | const int | iblock, |
float2 * | h_data, | ||
const int | h_dataSize | ||
) |
Definition at line 1158 of file CudaPmeSolverUtil.C.
References cudaCheck, PmeTranspose::dataSize, PmeTranspose::jsize, PmeTranspose::ksize, NAMD_bug(), PmeTranspose::nblock, and PmeTranspose::pos.
void CudaPmeTranspose::copyDataHostToDevice | ( | const int | iblock, |
float2 * | data_in, | ||
float2 * | data_out | ||
) |
Definition at line 1179 of file CudaPmeSolverUtil.C.
References cudaCheck, getBlockDim(), PmeTranspose::isize, PmeTranspose::jblock, PmeTranspose::jsize, PmeTranspose::kblock, NAMD_bug(), PmeTranspose::nblock, PmeTranspose::permutation, and PmeTranspose::pmeGrid.
void CudaPmeTranspose::copyDataToPeerDeviceYZX | ( | const int | iblock, |
int | deviceID_out, | ||
int | permutation_out, | ||
float2 * | data_out | ||
) |
Definition at line 1245 of file CudaPmeSolverUtil.C.
References PmeTranspose::jblock, and PmeTranspose::kblock.
void CudaPmeTranspose::copyDataToPeerDeviceZXY | ( | const int | iblock, |
int | deviceID_out, | ||
int | permutation_out, | ||
float2 * | data_out | ||
) |
Definition at line 1255 of file CudaPmeSolverUtil.C.
References PmeTranspose::jblock, and PmeTranspose::kblock.
float2 * CudaPmeTranspose::getBuffer | ( | const int | iblock | ) |
Definition at line 1230 of file CudaPmeSolverUtil.C.
References getBlockDim(), PmeTranspose::jblock, PmeTranspose::kblock, NAMD_bug(), PmeTranspose::nblock, PmeTranspose::permutation, and PmeTranspose::pmeGrid.
void CudaPmeTranspose::setDataPtrsYZX | ( | std::vector< float2 *> & | dataPtrsNew, |
float2 * | data | ||
) |
Definition at line 873 of file CudaPmeSolverUtil.C.
References cudaCheck, TransposeBatch< T >::data_in, TransposeBatch< T >::data_out, PmeTranspose::jsize, PmeGrid::K1, PmeGrid::K2, PmeGrid::K3, PmeTranspose::ksize, NAMD_bug(), PmeTranspose::nblock, TransposeBatch< T >::nx, PmeTranspose::pmeGrid, PmeTranspose::pos, TransposeBatch< T >::ysize_out, and TransposeBatch< T >::zsize_out.
void CudaPmeTranspose::setDataPtrsZXY | ( | std::vector< float2 *> & | dataPtrsNew, |
float2 * | data | ||
) |
Definition at line 944 of file CudaPmeSolverUtil.C.
References cudaCheck, TransposeBatch< T >::data_in, TransposeBatch< T >::data_out, PmeTranspose::jsize, PmeGrid::K1, PmeGrid::K2, PmeGrid::K3, PmeTranspose::ksize, NAMD_bug(), PmeTranspose::nblock, TransposeBatch< T >::nx, PmeTranspose::pmeGrid, PmeTranspose::pos, TransposeBatch< T >::xsize_out, and TransposeBatch< T >::zsize_out.
|
virtual |
Implements PmeTranspose.
Definition at line 1006 of file CudaPmeSolverUtil.C.
References batchTranspose_xyz_yzx(), cudaCheck, PmeTranspose::isize, PmeTranspose::jsize, PmeTranspose::ksize, NAMD_bug(), PmeTranspose::nblock, Perm_cX_Y_Z, Perm_Y_Z_cX, Perm_Z_cX_Y, and PmeTranspose::permutation.
|
virtual |
Implements PmeTranspose.
Definition at line 1080 of file CudaPmeSolverUtil.C.
References batchTranspose_xyz_zxy(), cudaCheck, PmeTranspose::isize, PmeTranspose::jsize, PmeTranspose::ksize, NAMD_bug(), PmeTranspose::nblock, Perm_cX_Y_Z, Perm_Y_Z_cX, Perm_Z_cX_Y, and PmeTranspose::permutation.
void CudaPmeTranspose::waitStreamSynchronize | ( | ) |