version 1.1 | version 1.2 |
---|
| |
#include <vector> | #include <vector> |
#include "CudaUtils.h" | #include "CudaUtils.h" |
#include "ComputeCUDAMgr.decl.h" | #include "ComputeCUDAMgr.decl.h" |
| #include "CudaNonbondedTables.h" |
#include "CudaComputeNonbonded.h" | #include "CudaComputeNonbonded.h" |
| #ifdef BONDED_CUDA |
| #include "ComputeBondedCUDA.h" |
| #endif |
#ifdef NAMD_CUDA | #ifdef NAMD_CUDA |
| |
class ComputeCUDAMgr : public CBase_ComputeCUDAMgr { | class ComputeCUDAMgr : public CBase_ComputeCUDAMgr { |
| |
static ComputeCUDAMgr* getComputeCUDAMgr(); | static ComputeCUDAMgr* getComputeCUDAMgr(); |
CudaComputeNonbonded* createCudaComputeNonbonded(ComputeID c); | CudaComputeNonbonded* createCudaComputeNonbonded(ComputeID c); |
CudaComputeNonbonded* getCudaComputeNonbonded(); | CudaComputeNonbonded* getCudaComputeNonbonded(); |
| #ifdef BONDED_CUDA |
| ComputeBondedCUDA* createComputeBondedCUDA(ComputeID c, ComputeMgr* computeMgr); |
| ComputeBondedCUDA* getComputeBondedCUDA(); |
| #endif |
private: | private: |
| |
// Number of CUDA devices on this node that are used in computation | // Number of CUDA devices on this node that are used in computation |
int numDevices; | int numDevices; |
| std::vector<CudaNonbondedTables*> cudaNonbondedTablesList; |
std::vector<CudaComputeNonbonded*> cudaComputeNonbondedList; | std::vector<CudaComputeNonbonded*> cudaComputeNonbondedList; |
| #ifdef BONDED_CUDA |
| std::vector<ComputeBondedCUDA*> computeBondedCUDAList; |
| #endif |
}; | }; |
| |
#else // NAMD_CUDA | #else // NAMD_CUDA |