Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

CUDAUtil.cu File Reference

Lightweight CUDA helper routines for use by CUDAAccel. More...

#include <string.h>
#include <stdio.h>
#include "CUDAKernels.h"
#include "WKFThreads.h"
#include "intstack.h"
#include "ProfileHooks.h"

Go to the source code of this file.

Functions

int vmd_cuda_drv_runtime_compatible ()
int vmd_cuda_device_props (int dev, char *name, int namelen, int *devmajor, int *devminor, unsigned long *memb, int *clockratekhz, int *smcount, int *integratedgpu, int *asyncenginecount, int *kerneltimeout, int *canmaphostmem, int *computemode, int *spdpfpperfratio, int *pageablememaccess, int *pageablememaccessuseshostpagetables)
int vmd_cuda_num_devices (int *numdev)
int vmd_cuda_peer_matrix (int *numdev, int **p2pmat, int **p2psupp, int **p2patomics, int **p2parrays, int **perfmat, int *p2plinkcount, int *islandcount)
void * vmd_cuda_devpool_setdeviceonly (void *voidparms)
void * vmd_cuda_affinitize_threads (void *voidparms)
void * vmd_cuda_devpool_enable_P2P (void *voidparms)
void * vmd_cuda_devpool_setdevice (void *voidparms)


Detailed Description

Lightweight CUDA helper routines for use by CUDAAccel.

Definition in file CUDAUtil.cu.


Function Documentation

void* vmd_cuda_affinitize_threads void *    voidparms
 

Definition at line 361 of file CUDAUtil.cu.

References NULL, PROFILE_NAME_THREAD, wkf_thread_numphysprocessors, wkf_thread_set_self_cpuaffinity, wkf_threadpool_worker_getdevid, and wkf_threadpool_worker_getid.

int vmd_cuda_device_props int    dev,
char *    name,
int    namelen,
int *    devmajor,
int *    devminor,
unsigned long *    memb,
int *    clockratekhz,
int *    smcount,
int *    integratedgpu,
int *    asyncenginecount,
int *    kerneltimeout,
int *    canmaphostmem,
int *    computemode,
int *    spdpfpperfratio,
int *    pageablememaccess,
int *    pageablememaccessuseshostpagetables
 

Definition at line 76 of file CUDAUtil.cu.

References vmd_cuda_drv_runtime_compatible, VMDCUDA_ERR_EMUDEVICE, VMDCUDA_ERR_GENERAL, and VMDCUDA_ERR_NONE.

Referenced by CUDAAccel::CUDAAccel, and vmd_cuda_num_devices.

void* vmd_cuda_devpool_enable_P2P void *    voidparms
 

Definition at line 412 of file CUDAUtil.cu.

References NULL, wkf_threadpool_worker_getdevid, and wkf_threadpool_worker_getid.

void* vmd_cuda_devpool_setdevice void *    voidparms
 

Definition at line 439 of file CUDAUtil.cu.

References NULL, PROFILE_NAME_THREAD, wkf_threadpool_worker_getdata, wkf_threadpool_worker_getdevid, wkf_threadpool_worker_getid, and wkf_threadpool_worker_setdevspeed.

void* vmd_cuda_devpool_setdeviceonly void *    voidparms
 

Definition at line 333 of file CUDAUtil.cu.

References NULL, PROFILE_NAME_THREAD, wkf_threadpool_worker_getdata, wkf_threadpool_worker_getdevid, and wkf_threadpool_worker_getid.

int vmd_cuda_drv_runtime_compatible   [static]
 

Definition at line 39 of file CUDAUtil.cu.

References VMDCUDA_ERR_DRVMISMATCH, VMDCUDA_ERR_NODEVICES, and VMDCUDA_ERR_NONE.

Referenced by vmd_cuda_device_props, and vmd_cuda_num_devices.

int vmd_cuda_num_devices int *    numdev
 

Definition at line 139 of file CUDAUtil.cu.

References NULL, vmd_cuda_device_props, vmd_cuda_drv_runtime_compatible, VMDCUDA_ERR_DRVMISMATCH, VMDCUDA_ERR_EMUDEVICE, VMDCUDA_ERR_NODEVICES, VMDCUDA_ERR_NONE, and VMDCUDA_ERR_SOMEDEVICES.

Referenced by cuda_occupancy_thread, CUDAAccel::CUDAAccel, text_cmd_vmdbench, vmd_cuda_peer_matrix, vmd_cuda_vol_cpotential, and vmdinfo_tcl.

int vmd_cuda_peer_matrix int *    numdev,
int **    p2pmat,
int **    p2psupp,
int **    p2patomics,
int **    p2parrays,
int **    perfmat,
int *    p2plinkcount,
int *    islandcount
 

Definition at line 197 of file CUDAUtil.cu.

References intstack_create, intstack_destroy, intstack_pop, intstack_push, IntStackHandle, NULL, vmd_cuda_num_devices, VMDCUDA_ERR_GENERAL, and VMDCUDA_ERR_NONE.

Referenced by CUDAAccel::print_cuda_devices.


Generated on Thu Mar 28 02:44:36 2024 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002