| 
    NAMD
    
   | 
 
#include <ComputePmeCUDAMgr.h>
  
 Public Member Functions | |
| ComputePmeCUDADevice () | |
| ComputePmeCUDADevice (CkMigrateMessage *m) | |
| ~ComputePmeCUDADevice () | |
| void | initialize (PmeGrid &pmeGrid_in, int pencilIndexY_in, int pencilIndexZ_in, int deviceID_in, int pmePencilType_in, CProxy_ComputePmeCUDAMgr mgrProxy_in, CProxy_PmeAtomFiler pmeAtomFiler_in) | 
| int | getDeviceID () | 
| cudaStream_t | getStream () | 
| CProxy_ComputePmeCUDAMgr | getMgrProxy () | 
| void | setPencilProxy (CProxy_CudaPmePencilXYZ pmePencilXYZ_in) | 
| void | setPencilProxy (CProxy_CudaPmePencilXY pmePencilXY_in) | 
| void | setPencilProxy (CProxy_CudaPmePencilX pmePencilX_in) | 
| void | activate_pencils () | 
| void | initializePatches (int numHomePatches_in) | 
| void | registerNeighbor () | 
| void | recvAtoms (PmeAtomMsg *msg) | 
| void | sendAtomsToNeighbors () | 
| void | sendAtomsToNeighbor (int y, int z, int atomIval) | 
| void | recvAtomsFromNeighbor (PmeAtomPencilMsg *msg) | 
| void | registerRecvAtomsFromNeighbor () | 
| void | spreadCharge () | 
| void | gatherForce () | 
| void | gatherForceDone (unsigned int iGrid) | 
| void | sendForcesToNeighbors () | 
| void | recvForcesFromNeighbor (PmeForcePencilMsg *msg) | 
| void | mergeForcesOnPatch (int homePatchIndex) | 
| void | sendForcesToPatch (PmeForceMsg *forceMsg) | 
| void | gatherForceDoneSubset (int first, int last) | 
| bool | isGridEnabled (unsigned int i) const | 
Definition at line 420 of file ComputePmeCUDAMgr.h.
| ComputePmeCUDADevice::ComputePmeCUDADevice | ( | ) | 
| ComputePmeCUDADevice::ComputePmeCUDADevice | ( | CkMigrateMessage * | m | ) | 
| ComputePmeCUDADevice::~ComputePmeCUDADevice | ( | ) | 
| void ComputePmeCUDADevice::activate_pencils | ( | ) | 
Definition at line 1189 of file ComputePmeCUDAMgr.C.
References PmeStartMsg::dataGrid, PmeStartMsg::dataSizes, PmeStartMsg::enabledGrid, and NUM_GRID_MAX.
| void ComputePmeCUDADevice::gatherForce | ( | ) | 
Definition at line 1770 of file ComputePmeCUDAMgr.C.
References CUDA_PME_SPREADCHARGE_EVENT, NUM_GRID_MAX, Node::Object(), Node::simParameters, and simParams.
| void ComputePmeCUDADevice::gatherForceDone | ( | unsigned int | iGrid | ) | 
Definition at line 1816 of file ComputePmeCUDAMgr.C.
References CUDA_PME_GATHERFORCE_EVENT, gatherForceDoneLoop(), NUM_GRID_MAX, Node::Object(), sendForcesToNeighbors(), Node::simParameters, and SimParameters::useCkLoop.
| void ComputePmeCUDADevice::gatherForceDoneSubset | ( | int | first, | 
| int | last | ||
| ) | 
Definition at line 1797 of file ComputePmeCUDAMgr.C.
References mergeForcesOnPatch().
Referenced by gatherForceDoneLoop().
| int ComputePmeCUDADevice::getDeviceID | ( | ) | 
Definition at line 1159 of file ComputePmeCUDAMgr.C.
| CProxy_ComputePmeCUDAMgr ComputePmeCUDADevice::getMgrProxy | ( | ) | 
Definition at line 1163 of file ComputePmeCUDAMgr.C.
| cudaStream_t ComputePmeCUDADevice::getStream | ( | ) | 
Definition at line 1155 of file ComputePmeCUDAMgr.C.
| void ComputePmeCUDADevice::initialize | ( | PmeGrid & | pmeGrid_in, | 
| int | pencilIndexY_in, | ||
| int | pencilIndexZ_in, | ||
| int | deviceID_in, | ||
| int | pmePencilType_in, | ||
| CProxy_ComputePmeCUDAMgr | mgrProxy_in, | ||
| CProxy_PmeAtomFiler | pmeAtomFiler_in | ||
| ) | 
Definition at line 1050 of file ComputePmeCUDAMgr.C.
References createStream(), cudaCheck, DebugM, endi(), NUM_GRID_MAX, Node::Object(), Node::simParameters, simParams, PmeGrid::yBlocks, and PmeGrid::zBlocks.
| void ComputePmeCUDADevice::initializePatches | ( | int | numHomePatches_in | ) | 
Definition at line 1235 of file ComputePmeCUDAMgr.C.
References PmeGrid::yBlocks, and PmeGrid::zBlocks.
| bool ComputePmeCUDADevice::isGridEnabled | ( | unsigned int | i | ) | const | 
Definition at line 1167 of file ComputePmeCUDAMgr.C.
| void ComputePmeCUDADevice::mergeForcesOnPatch | ( | int | homePatchIndex | ) | 
Definition at line 1982 of file ComputePmeCUDAMgr.C.
References Node::Object(), sendForcesToPatch(), Node::simParameters, simParams, CudaForce::x, CudaForce::y, and CudaForce::z.
Referenced by gatherForceDoneSubset().
| void ComputePmeCUDADevice::recvAtoms | ( | PmeAtomMsg * | msg | ) | 
Definition at line 1267 of file ComputePmeCUDAMgr.C.
References PmeAtomMsg::atoms, PmeAtomMsg::compute, PmeForceMsg::compute, PmeAtomMsg::doEnergy, PmeAtomMsg::doVirial, PmeAtomFiler::fileAtoms(), PmeAtomFiler::getAtomIndex(), PmeAtomFiler::getNumAtoms(), PmeAtomMsg::lattice, NAMD_bug(), PmeAtomMsg::numAtoms, PmeForceMsg::numAtoms, PmeForceMsg::numStrayAtoms, Node::Object(), PmeAtomMsg::pe, PmeForceMsg::pe, PRIORITY_SIZE, sendAtomsToNeighbors(), Node::simParameters, simParams, PmeAtomMsg::simulationStep, CudaAtom::x, CudaAtom::y, PmeGrid::yBlocks, CudaAtom::z, PmeGrid::zBlocks, and PmeForceMsg::zeroCopy.
| void ComputePmeCUDADevice::recvAtomsFromNeighbor | ( | PmeAtomPencilMsg * | msg | ) | 
Definition at line 1574 of file ComputePmeCUDAMgr.C.
References PmeAtomPencilMsg::atoms, PmeAtomPencilMsg::doEnergy, PmeAtomPencilMsg::doVirial, PmeAtomPencilMsg::lattice, NAMD_bug(), PmeAtomPencilMsg::numAtoms, Node::Object(), registerRecvAtomsFromNeighbor(), Node::simParameters, simParams, PmeAtomPencilMsg::simulationStep, PmeAtomPencilMsg::srcY, PmeAtomPencilMsg::srcZ, PmeGrid::yBlocks, and PmeGrid::zBlocks.
| void ComputePmeCUDADevice::recvForcesFromNeighbor | ( | PmeForcePencilMsg * | msg | ) | 
Definition at line 1927 of file ComputePmeCUDAMgr.C.
References NAMD_bug(), PmeForcePencilMsg::srcY, PmeForcePencilMsg::srcZ, PmeGrid::yBlocks, and PmeGrid::zBlocks.
| void ComputePmeCUDADevice::registerNeighbor | ( | ) | 
Definition at line 1258 of file ComputePmeCUDAMgr.C.
| void ComputePmeCUDADevice::registerRecvAtomsFromNeighbor | ( | ) | 
Definition at line 1625 of file ComputePmeCUDAMgr.C.
References spreadCharge().
Referenced by recvAtomsFromNeighbor(), and sendAtomsToNeighbors().
| void ComputePmeCUDADevice::sendAtomsToNeighbor | ( | int | y, | 
| int | z, | ||
| int | atomIval | ||
| ) | 
Definition at line 1478 of file ComputePmeCUDAMgr.C.
References PmeAtomPencilMsg::atoms, PmeAtomPencilMsg::chargeFactors1, PmeAtomPencilMsg::chargeFactors2, PmeAtomPencilMsg::chargeFactors3, PmeAtomPencilMsg::chargeFactors4, PmeAtomPencilMsg::chargeFactors5, PmeAtomPencilMsg::doEnergy, PmeAtomPencilMsg::doVirial, PmeAtomPencilMsg::lattice, PmeAtomPencilMsg::numAtoms, Node::Object(), PRIORITY_SIZE, Node::simParameters, simParams, PmeAtomPencilMsg::simulationStep, PmeAtomPencilMsg::srcY, PmeAtomPencilMsg::srcZ, PmeAtomPencilMsg::y, PmeGrid::yBlocks, PmeAtomPencilMsg::z, and PmeGrid::zBlocks.
| void ComputePmeCUDADevice::sendAtomsToNeighbors | ( | ) | 
Definition at line 1463 of file ComputePmeCUDAMgr.C.
References registerRecvAtomsFromNeighbor().
Referenced by recvAtoms().
| void ComputePmeCUDADevice::sendForcesToNeighbors | ( | ) | 
Definition at line 1877 of file ComputePmeCUDAMgr.C.
References PmeForcePencilMsg::force, PmeForcePencilMsg::force2, PmeForcePencilMsg::force3, PmeForcePencilMsg::force4, PmeForcePencilMsg::force5, PmeForcePencilMsg::numAtoms, Node::Object(), PRIORITY_SIZE, Node::simParameters, simParams, PmeForcePencilMsg::srcY, PmeForcePencilMsg::srcZ, PmeForcePencilMsg::y, PmeGrid::yBlocks, PmeForcePencilMsg::z, and PmeGrid::zBlocks.
Referenced by gatherForceDone().
| void ComputePmeCUDADevice::sendForcesToPatch | ( | PmeForceMsg * | forceMsg | ) | 
Definition at line 2156 of file ComputePmeCUDAMgr.C.
References PmeForceMsg::compute, Compute::localWorkMsg, PmeForceMsg::pe, and ComputePmeCUDA::storePmeForceMsg().
Referenced by mergeForcesOnPatch().
| void ComputePmeCUDADevice::setPencilProxy | ( | CProxy_CudaPmePencilXYZ | pmePencilXYZ_in | ) | 
| void ComputePmeCUDADevice::setPencilProxy | ( | CProxy_CudaPmePencilXY | pmePencilXY_in | ) | 
| void ComputePmeCUDADevice::setPencilProxy | ( | CProxy_CudaPmePencilX | pmePencilX_in | ) | 
| void ComputePmeCUDADevice::spreadCharge | ( | ) | 
Definition at line 1647 of file ComputePmeCUDAMgr.C.
References PmeRunMsg::doEnergy, PmeRunMsg::doVirial, PmeRunMsg::lattice, NUM_GRID_MAX, PmeRunMsg::numStrayAtoms, Node::Object(), CudaAtom::q, Node::simParameters, simParams, PmeRunMsg::simulationStep, msm::swap(), CudaAtom::x, CudaAtom::y, and CudaAtom::z.
Referenced by registerRecvAtomsFromNeighbor().
 1.8.14