#include "NamdTypes.h"
#include "ReductionMgr.h"
#include "Molecule.h"
Go to the source code of this file.
Classes | |
class | Pairlists |
class | ComputeNonbondedWorkArrays |
struct | GBISParamStruct |
struct | nonbonded |
class | ComputeNonbondedUtil |
Defines | |
#define | NBWORKARRAYSINIT(ARRAYS) ComputeNonbondedWorkArrays* const computeNonbondedWorkArrays = ARRAYS; |
#define | NBWORKARRAY(TYPE, NAME, SIZE) |
#define | VDW_SWITCH_MODE_ENERGY 0 |
#define | VDW_SWITCH_MODE_MARTINI 1 |
#define | VDW_SWITCH_MODE_FORCE 2 |
Typedefs | |
typedef unsigned short | plint |
Functions | |
void | register_cuda_compute_self (ComputeID c, PatchID pid) |
void | register_cuda_compute_pair (ComputeID c, PatchID pid[], int t[]) |
void | unregister_cuda_compute (ComputeID c) |
#define NBWORKARRAY | ( | TYPE, | |||
NAME, | |||||
SIZE | ) |
computeNonbondedWorkArrays->NAME.resize(SIZE); \ TYPE * const NAME = computeNonbondedWorkArrays->NAME.begin();
Definition at line 97 of file ComputeNonbondedUtil.h.
#define NBWORKARRAYSINIT | ( | ARRAYS | ) | ComputeNonbondedWorkArrays* const computeNonbondedWorkArrays = ARRAYS; |
Definition at line 88 of file ComputeNonbondedUtil.h.
#define VDW_SWITCH_MODE_ENERGY 0 |
Definition at line 396 of file ComputeNonbondedUtil.h.
Referenced by for(), and ComputeNonbondedUtil::select().
#define VDW_SWITCH_MODE_FORCE 2 |
Definition at line 398 of file ComputeNonbondedUtil.h.
Referenced by ComputeNonbondedUtil::select().
#define VDW_SWITCH_MODE_MARTINI 1 |
Definition at line 397 of file ComputeNonbondedUtil.h.
Referenced by for(), and ComputeNonbondedUtil::select().
typedef unsigned short plint |
Definition at line 33 of file ComputeNonbondedUtil.h.
Definition at line 390 of file ComputeNonbondedCUDA.C.
References ResizeArray< Elem >::add(), ComputeNonbondedCUDA::compute_record::c, PatchMap::center(), cudaCompute, ComputeNonbondedCUDA::localComputeRecords, NAMD_bug(), ComputeNonbondedCUDA::compute_record::offset, ComputeNonbondedCUDA::patchMap, ComputeNonbondedCUDA::patchRecords, ComputeNonbondedCUDA::compute_record::pid, ComputeNonbondedCUDA::remoteComputeRecords, ComputeNonbondedCUDA::requirePatch(), Vector::x, Vector::y, and Vector::z.
Referenced by ComputeNonbondedPair::initialize().
00390 { 00391 00392 if ( ! cudaCompute ) NAMD_bug("register_pair called early"); 00393 00394 cudaCompute->requirePatch(pid[0]); 00395 cudaCompute->requirePatch(pid[1]); 00396 00397 ComputeNonbondedCUDA::compute_record cr; 00398 cr.c = c; 00399 cr.pid[0] = pid[0]; cr.pid[1] = pid[1]; 00400 00401 int t1 = t[0]; 00402 int t2 = t[1]; 00403 Vector offset = cudaCompute->patchMap->center(pid[0]) 00404 - cudaCompute->patchMap->center(pid[1]); 00405 offset.x += (t1%3-1) - (t2%3-1); 00406 offset.y += ((t1/3)%3-1) - ((t2/3)%3-1); 00407 offset.z += (t1/9-1) - (t2/9-1); 00408 cr.offset = offset; 00409 00410 if ( cudaCompute->patchRecords[pid[0]].isLocal ) { 00411 cudaCompute->localComputeRecords.add(cr); 00412 } else { 00413 cudaCompute->remoteComputeRecords.add(cr); 00414 } 00415 }
Definition at line 373 of file ComputeNonbondedCUDA.C.
References ResizeArray< Elem >::add(), ComputeNonbondedCUDA::compute_record::c, cudaCompute, ComputeNonbondedCUDA::localComputeRecords, NAMD_bug(), ComputeNonbondedCUDA::compute_record::offset, ComputeNonbondedCUDA::patchRecords, ComputeNonbondedCUDA::compute_record::pid, ComputeNonbondedCUDA::remoteComputeRecords, and ComputeNonbondedCUDA::requirePatch().
Referenced by ComputeNonbondedSelf::initialize().
00373 { 00374 00375 if ( ! cudaCompute ) NAMD_bug("register_self called early"); 00376 00377 cudaCompute->requirePatch(pid); 00378 00379 ComputeNonbondedCUDA::compute_record cr; 00380 cr.c = c; 00381 cr.pid[0] = pid; cr.pid[1] = pid; 00382 cr.offset = 0.; 00383 if ( cudaCompute->patchRecords[pid].isLocal ) { 00384 cudaCompute->localComputeRecords.add(cr); 00385 } else { 00386 cudaCompute->remoteComputeRecords.add(cr); 00387 } 00388 }
void unregister_cuda_compute | ( | ComputeID | c | ) |
Definition at line 417 of file ComputeNonbondedCUDA.C.
References NAMD_bug().
00417 { // static 00418 00419 NAMD_bug("unregister_compute unimplemented"); 00420 00421 }