NAMD
Public Member Functions | List of all members
CudaPmePencilXYZ Class Reference

#include <CudaPmeSolver.h>

Inheritance diagram for CudaPmePencilXYZ:

Public Member Functions

 CudaPmePencilXYZ ()
 
 CudaPmePencilXYZ (CkMigrateMessage *m)
 
void initialize (CudaPmeXYZInitMsg *msg)
 
void initializeDevice (InitDeviceMsg *msg)
 
void energyAndVirialDone (unsigned int iGrid)
 

Detailed Description

Definition at line 57 of file CudaPmeSolver.h.

Constructor & Destructor Documentation

◆ CudaPmePencilXYZ() [1/2]

CudaPmePencilXYZ::CudaPmePencilXYZ ( )
inline

Definition at line 59 of file CudaPmeSolver.h.

59 {}

◆ CudaPmePencilXYZ() [2/2]

CudaPmePencilXYZ::CudaPmePencilXYZ ( CkMigrateMessage *  m)
inline

Definition at line 60 of file CudaPmeSolver.h.

60 {}

Member Function Documentation

◆ energyAndVirialDone()

void CudaPmePencilXYZ::energyAndVirialDone ( unsigned int  iGrid)

Definition at line 61 of file CudaPmeSolver.C.

61  {
62  submitReductions(iGrid);
63  // deviceProxy[CkMyNode()].gatherForce();
64 }

◆ initialize()

void CudaPmePencilXYZ::initialize ( CudaPmeXYZInitMsg msg)

Definition at line 18 of file CudaPmeSolver.C.

References CudaPmeXYZInitMsg::pmeGrid.

18  {
19  pmeGrid = msg->pmeGrid;
20  delete msg;
21 }

◆ initializeDevice()

void CudaPmePencilXYZ::initializeDevice ( InitDeviceMsg msg)

Definition at line 26 of file CudaPmeSolver.C.

References InitDeviceMsg::deviceProxy, ComputeNonbondedUtil::ewaldcof, NUM_GRID_MAX, and Perm_cX_Y_Z.

26  {
27  // Store device proxy
28  deviceProxy = msg->deviceProxy;
29  delete msg;
30  int deviceID = deviceProxy.ckLocalBranch()->getDeviceID();
31  cudaStream_t stream = deviceProxy.ckLocalBranch()->getStream();
32  CProxy_ComputePmeCUDAMgr mgrProxy = deviceProxy.ckLocalBranch()->getMgrProxy();
33  // Setup fftCompute and pmeKSpaceCompute
34  for (unsigned int iGrid = 0; iGrid < NUM_GRID_MAX; ++iGrid) {
35  if (deviceProxy.ckLocalBranch()->isGridEnabled(iGrid) == true) {
36  fftComputes[iGrid] = new CudaFFTCompute(deviceID, stream);
37  pmeKSpaceComputes[iGrid] = new CudaPmeKSpaceCompute(pmeGrid, Perm_cX_Y_Z, 0, 0, ComputeNonbondedUtil::ewaldcof, deviceID, stream, iGrid);
38  energyReady[iGrid] = 0;
39  } else {
40  fftComputes[iGrid] = NULL;
41  pmeKSpaceComputes[iGrid] = NULL;
42  energyReady[iGrid] = -1;
43  }
44  }
45 }
const unsigned int NUM_GRID_MAX
Definition: PmeSolverUtil.h:9
CProxy_ComputePmeCUDADevice deviceProxy
Definition: CudaPmeSolver.h:44

The documentation for this class was generated from the following files: