Loading...
Searching...
No Matches
gpu Namespace Reference

Classes

struct  BatchResult
struct  DeviceInfo
struct  Footprint
struct  Plan

Functions

BatchResult analyzeResident (const double *xyz, const double *box, int nAtoms, int nFrames, double rc=5.5, const double *boxLow=nullptr, int nBox=3)
 xyz is frame-major, atom, xyz.
DeviceInfo probeDevice ()
Footprint estimateFootprint (int nAtoms, int nFrames, int kMax=16, int maxSixRingsPerAtom=16)
int maxResidentFrames (const DeviceInfo &dev, int nAtoms, int kMax=16, int maxSixRingsPerAtom=16, double safety=0.80)
Plan planBatch (int nAtoms, int requestedFrames, int kMax=16, int maxSixRingsPerAtom=16, double safety=0.80)

Function Documentation

◆ analyzeResident()

BatchResult gpu::analyzeResident ( const double * xyz,
const double * box,
int nAtoms,
int nFrames,
double rc = 5.5,
const double * boxLow = nullptr,
int nBox = 3 )

xyz is frame-major, atom, xyz.

box is frame-major three lengths when boxLow is null and nBox is 3. When boxLow is set or nBox is at least 6, box is one dump box (3 spans or 6 span+tilt) shared by every frame and the device walk uses lammpsBoxToLinkcell. rc is the cell-list cutoff; 5.5 matches the host k-NN candidate shell.

◆ estimateFootprint()

Footprint gpu::estimateFootprint ( int nAtoms,
int nFrames,
int kMax = 16,
int maxSixRingsPerAtom = 16 )

◆ maxResidentFrames()

int gpu::maxResidentFrames ( const DeviceInfo & dev,
int nAtoms,
int kMax = 16,
int maxSixRingsPerAtom = 16,
double safety = 0.80 )

◆ planBatch()

Plan gpu::planBatch ( int nAtoms,
int requestedFrames,
int kMax = 16,
int maxSixRingsPerAtom = 16,
double safety = 0.80 )

◆ probeDevice()

DeviceInfo gpu::probeDevice ( )