NAMD
Classes | Public Member Functions | List of all members
CudaTileListKernel Class Reference

#include <CudaTileListKernel.h>

Public Member Functions

 CudaTileListKernel (int deviceID, bool doStreaming)
 
 ~CudaTileListKernel ()
 
int getNumEmptyPatches ()
 
int * getEmptyPatches ()
 
int getNumExcluded ()
 
float get_plcutoff2 ()
 
int getNumTileLists ()
 
int getNumTileListsGBIS ()
 
int getNumJtiles ()
 
BoundingBoxgetBoundingBoxes ()
 
int * getJtiles ()
 
float4 * get_xyzq ()
 
char * get_part ()
 
TileListStatgetTileListStatDevPtr ()
 
void clearTileListStat (cudaStream_t stream)
 
int * getTileJatomStart ()
 
TileListgetTileLists ()
 
unsigned int * getTileListDepth ()
 
int * getTileListOrder ()
 
TileExclgetTileExcls ()
 
PatchPairRecordgetPatchPairs ()
 
int * getTileJatomStartGBIS ()
 
TileListgetTileListsGBIS ()
 
TileListVirialEnergygetTileListVirialEnergy ()
 
CudaPatchRecordgetCudaPatches ()
 
int getCudaPatchesSize ()
 
void prepareTileList (cudaStream_t stream)
 
void finishTileList (cudaStream_t stream)
 
void updateComputes (const int numComputesIn, const CudaComputeRecord *h_cudaComputes, cudaStream_t stream)
 
void prepareBuffers (int atomStorageSizeIn, int numPatchesIn, const CudaPatchRecord *h_cudaPatches, cudaStream_t stream)
 
void buildTileLists (const int numTileListsPrev, const int numPatchesIn, const int atomStorageSizeIn, const int maxTileListLenIn, const float3 lata, const float3 latb, const float3 latc, const CudaPatchRecord *h_cudaPatches, const float4 *h_xyzq, const float plcutoff2In, const size_t maxShmemPerBlock, cudaStream_t stream, const bool atomsChanged, const bool allocatePart, bool CUDASOAintegratorOn, bool deviceMigration)
 
void reSortTileLists (const bool doGBIS, cudaStream_t stream)
 
void setTileListVirialEnergyLength (int len)
 
void setTileListVirialEnergyGBISLength (int len)
 
int getTileListVirialEnergyLength ()
 
int getTileListVirialEnergyGBISLength ()
 
int getNumPatches ()
 
int getNumComputes ()
 
int * getOutputOrder ()
 

Detailed Description

Definition at line 119 of file CudaTileListKernel.h.

Constructor & Destructor Documentation

◆ CudaTileListKernel()

CudaTileListKernel::CudaTileListKernel ( int  deviceID,
bool  doStreaming 
)

◆ ~CudaTileListKernel()

CudaTileListKernel::~CudaTileListKernel ( )

Member Function Documentation

◆ buildTileLists()

void CudaTileListKernel::buildTileLists ( const int  numTileListsPrev,
const int  numPatchesIn,
const int  atomStorageSizeIn,
const int  maxTileListLenIn,
const float3  lata,
const float3  latb,
const float3  latc,
const CudaPatchRecord h_cudaPatches,
const float4 *  h_xyzq,
const float  plcutoff2In,
const size_t  maxShmemPerBlock,
cudaStream_t  stream,
const bool  atomsChanged,
const bool  allocatePart,
bool  CUDASOAintegratorOn,
bool  deviceMigration 
)

◆ clearTileListStat()

void CudaTileListKernel::clearTileListStat ( cudaStream_t  stream)

◆ finishTileList()

void CudaTileListKernel::finishTileList ( cudaStream_t  stream)

◆ get_part()

char* CudaTileListKernel::get_part ( )
inline

Definition at line 319 of file CudaTileListKernel.h.

319 {return part;}

◆ get_plcutoff2()

float CudaTileListKernel::get_plcutoff2 ( )
inline

Definition at line 312 of file CudaTileListKernel.h.

312 {return plcutoff2;}

◆ get_xyzq()

float4* CudaTileListKernel::get_xyzq ( )
inline

Definition at line 318 of file CudaTileListKernel.h.

318 {return xyzq;}

◆ getBoundingBoxes()

BoundingBox* CudaTileListKernel::getBoundingBoxes ( )
inline

Definition at line 316 of file CudaTileListKernel.h.

316 {return boundingBoxes;}

◆ getCudaPatches()

CudaPatchRecord* CudaTileListKernel::getCudaPatches ( )
inline

Definition at line 338 of file CudaTileListKernel.h.

338 {return cudaPatches;}

◆ getCudaPatchesSize()

int CudaTileListKernel::getCudaPatchesSize ( )
inline

Definition at line 339 of file CudaTileListKernel.h.

339 {return cudaPatchesSize;}

◆ getEmptyPatches()

int* CudaTileListKernel::getEmptyPatches ( )
inline

Definition at line 308 of file CudaTileListKernel.h.

Referenced by CudaComputeNonbonded::launchWork().

308 {return h_emptyPatches;}

◆ getJtiles()

int* CudaTileListKernel::getJtiles ( )
inline

Definition at line 317 of file CudaTileListKernel.h.

317 {return jtiles;}

◆ getNumComputes()

int CudaTileListKernel::getNumComputes ( )
inline

Definition at line 369 of file CudaTileListKernel.h.

369 {return numComputes;}

◆ getNumEmptyPatches()

int CudaTileListKernel::getNumEmptyPatches ( )
inline

Definition at line 307 of file CudaTileListKernel.h.

Referenced by CudaComputeNonbonded::launchWork().

307 {return numEmptyPatches;}

◆ getNumExcluded()

int CudaTileListKernel::getNumExcluded ( )
inline

Definition at line 310 of file CudaTileListKernel.h.

Referenced by CudaComputeNonbonded::finishReductions().

310 {return numExcluded;}

◆ getNumJtiles()

int CudaTileListKernel::getNumJtiles ( )
inline

Definition at line 315 of file CudaTileListKernel.h.

315 {return numJtiles;}

◆ getNumPatches()

int CudaTileListKernel::getNumPatches ( )
inline

Definition at line 367 of file CudaTileListKernel.h.

Referenced by CudaComputeNonbonded::launchWork().

367 {return numPatches;}

◆ getNumTileLists()

int CudaTileListKernel::getNumTileLists ( )
inline

Definition at line 313 of file CudaTileListKernel.h.

313 {return numTileLists;}

◆ getNumTileListsGBIS()

int CudaTileListKernel::getNumTileListsGBIS ( )
inline

Definition at line 314 of file CudaTileListKernel.h.

314 {return numTileListsGBIS;}

◆ getOutputOrder()

int* CudaTileListKernel::getOutputOrder ( )
inline

Definition at line 370 of file CudaTileListKernel.h.

370  {
371  if (!doStreaming) return NULL;
372  if (doOutputOrder) {
373  return outputOrder;
374  } else {
375  return NULL;
376  }
377  }

◆ getPatchPairs()

PatchPairRecord* CudaTileListKernel::getPatchPairs ( )
inline

Definition at line 331 of file CudaTileListKernel.h.

331 {return ((activeBuffer == 1) ? patchPairs1 : patchPairs2);}

◆ getTileExcls()

TileExcl* CudaTileListKernel::getTileExcls ( )
inline

Definition at line 330 of file CudaTileListKernel.h.

330 {return ((activeBuffer == 1) ? tileExcls1 : tileExcls2);}

◆ getTileJatomStart()

int* CudaTileListKernel::getTileJatomStart ( )
inline

Definition at line 324 of file CudaTileListKernel.h.

324 {return ((activeBuffer == 1) ? tileJatomStart1 : tileJatomStart2);}

◆ getTileJatomStartGBIS()

int* CudaTileListKernel::getTileJatomStartGBIS ( )
inline

Definition at line 333 of file CudaTileListKernel.h.

333 {return tileJatomStartGBIS;}

◆ getTileListDepth()

unsigned int* CudaTileListKernel::getTileListDepth ( )
inline

Definition at line 328 of file CudaTileListKernel.h.

328 {return ((activeBuffer == 1) ? tileListDepth1 : tileListDepth2);}

◆ getTileListOrder()

int* CudaTileListKernel::getTileListOrder ( )
inline

Definition at line 329 of file CudaTileListKernel.h.

329 {return ((activeBuffer == 1) ? tileListOrder1 : tileListOrder2);}

◆ getTileLists()

TileList* CudaTileListKernel::getTileLists ( )
inline

Definition at line 325 of file CudaTileListKernel.h.

325  {
326  return ((activeBuffer == 1) ? tileLists1 : tileLists2);
327  }

◆ getTileListsGBIS()

TileList* CudaTileListKernel::getTileListsGBIS ( )
inline

Definition at line 334 of file CudaTileListKernel.h.

334 {return tileListsGBIS;}

◆ getTileListStatDevPtr()

TileListStat* CudaTileListKernel::getTileListStatDevPtr ( )
inline

Definition at line 321 of file CudaTileListKernel.h.

321 {return d_tileListStat;}

◆ getTileListVirialEnergy()

TileListVirialEnergy* CudaTileListKernel::getTileListVirialEnergy ( )
inline

Definition at line 336 of file CudaTileListKernel.h.

336 {return tileListVirialEnergy;}

◆ getTileListVirialEnergyGBISLength()

int CudaTileListKernel::getTileListVirialEnergyGBISLength ( )
inline

Definition at line 365 of file CudaTileListKernel.h.

365 {return tileListVirialEnergyGBISLength;}

◆ getTileListVirialEnergyLength()

int CudaTileListKernel::getTileListVirialEnergyLength ( )
inline

Definition at line 364 of file CudaTileListKernel.h.

364 {return tileListVirialEnergyLength;}

◆ prepareBuffers()

void CudaTileListKernel::prepareBuffers ( int  atomStorageSizeIn,
int  numPatchesIn,
const CudaPatchRecord h_cudaPatches,
cudaStream_t  stream 
)

◆ prepareTileList()

void CudaTileListKernel::prepareTileList ( cudaStream_t  stream)

◆ reSortTileLists()

void CudaTileListKernel::reSortTileLists ( const bool  doGBIS,
cudaStream_t  stream 
)

◆ setTileListVirialEnergyGBISLength()

void CudaTileListKernel::setTileListVirialEnergyGBISLength ( int  len)

◆ setTileListVirialEnergyLength()

void CudaTileListKernel::setTileListVirialEnergyLength ( int  len)

◆ updateComputes()

void CudaTileListKernel::updateComputes ( const int  numComputesIn,
const CudaComputeRecord h_cudaComputes,
cudaStream_t  stream 
)

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