13 #if !(defined(__CUDACC__) || defined(__HIPCC__))
86 #if defined(NAMD_CUDA) || defined(NAMD_HIP) || defined(NAMD_MIC) || defined(NAMD_AVXTILES)
89 #ifdef MEM_OPT_VERSION
111 #ifdef MEM_OPT_VERSION
120 #ifdef MEM_OPT_VERSION
124 #ifdef MEM_OPT_VERSION
133 return hydVal < a.hydVal;
161 #if !(defined(__CUDACC__) || defined(__HIPCC__))
208 #if NAMD_ComputeNonbonded_SortAtoms != 0
276 #if defined(NAMD_CUDA) && defined(NAMD_USE_NVTX)
278 #include <nvToolsExt.h>
282 const uint32_t NAMD_nvtx_colors[] = {
291 const int NAMD_nvtx_colors_len =
sizeof(NAMD_nvtx_colors)/
sizeof(uint32_t);
294 #define PUSH_RANGE(name,cid) \
296 int color_id = cid; \
297 color_id = color_id % NAMD_nvtx_colors_len; \
298 nvtxEventAttributes_t eventAttrib = {0}; \
299 eventAttrib.version = NVTX_VERSION; \
300 eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE; \
301 eventAttrib.colorType = NVTX_COLOR_ARGB; \
302 eventAttrib.color = NAMD_nvtx_colors[color_id]; \
303 eventAttrib.messageType = NVTX_MESSAGE_TYPE_ASCII; \
304 eventAttrib.message.ascii = name; \
305 nvtxRangePushEx(&eventAttrib); \
306 } while(0) // must terminate with semi-colon
314 class NAMD_NVTX_Tracer {
316 NAMD_NVTX_Tracer(
const char *name,
int cid = 0) {
PUSH_RANGE(name, cid); }
323 #define RANGE(name,cid) \
324 NAMD_NVTX_Tracer namd_nvtx_tracer##cid(name,cid)
332 #define PUSH_RANGE(name,cid) do { } while(0) // must terminate with semi-colon
333 #define POP_RANGE do { } while(0) // must terminate with semi-colon
334 #define RANGE(namd,cid) do { } while(0) // must terminate with semi-colon
336 #endif // NAMD_CUDA && NAMD_USE_NVTX
ResizeArray< GBReal > GBRealList
ResizeArray< Real > RealList
unsigned int hydrogenGroupSize
ResizeArray< CudaAtom > CudaAtomList
proxyTreeNode & operator=(const proxyTreeNode &n)
ResizeArray< PatchID > PatchIDList
ResizeArray< Force > ForceList
ResizeArray< Velocity > VelocityList
ResizeArray< Position > PositionList
ResizeArray< BigReal > BigRealList
proxyTreeNode(const proxyTreeNode &n)
ResizeArray< FullAtom > FullAtomList
ResizeArray< Transform > TransformList
struct __sort_entry SortEntry
bool operator<(const intpair &lhs, const intpair &rhs)
ResizeArray< Compute * > ComputeList
ResizeArray< AtomID > AtomIDList
ResizeArray< proxyTreeNode > proxyTreeNodeList
#define PUSH_RANGE(name, cid)
proxyTreeNode(int nid, int numPes_, int *pes)
ResizeArray< CompAtom > CompAtomList
ResizeArray< CompAtomExt > CompAtomExtList
ResizeArray< Patch * > PatchList
ResizeArray< int > IntList
unsigned int nonbondedGroupSize
ResizeArray< InputAtom > InputAtomList
ResizeArray< NodeID > NodeIDList