From ee24560ab6fd1f6d03f7854e61f9dc49f3e81710 Mon Sep 17 00:00:00 2001 From: sjplimp Date: Tue, 11 Aug 2009 22:28:59 +0000 Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@3049 f3b2605a-c512-4ea7-a41b-209d697bcdaa --- lib/gpu/lj_gpu_memory.cu | 2 +- lib/gpu/lj_gpu_memory.h | 2 +- lib/gpu/pair_gpu_atom.h | 4 +++- lib/gpu/pair_gpu_texture.h | 8 ++++++++ 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/lib/gpu/lj_gpu_memory.cu b/lib/gpu/lj_gpu_memory.cu index 6abc0a12c9..484e28e86d 100644 --- a/lib/gpu/lj_gpu_memory.cu +++ b/lib/gpu/lj_gpu_memory.cu @@ -30,7 +30,7 @@ int LJ_GPU_MemoryT::bytes_per_atom(const int max_nbors) const { } template -int LJ_GPU_MemoryT::get_max_atoms(const int gpu_bytes, const int max_nbors) { +int LJ_GPU_MemoryT::get_max_atoms(const size_t gpu_bytes, const int max_nbors) { int matoms=static_cast(PERCENT_GPU_MEMORY*gpu_bytes/ bytes_per_atom(max_nbors)); if (matoms>MAX_ATOMS) diff --git a/lib/gpu/lj_gpu_memory.h b/lib/gpu/lj_gpu_memory.h index a3b4358192..d6f3e1cf13 100644 --- a/lib/gpu/lj_gpu_memory.h +++ b/lib/gpu/lj_gpu_memory.h @@ -50,7 +50,7 @@ class LJ_GPU_Memory { /// Returns memory usage on GPU per atom int bytes_per_atom(const int max_nbors) const; /// Maximum number of atoms that can be stored on GPU - int get_max_atoms(const int gpu_bytes, const int max_nbors); + int get_max_atoms(const size_t gpu_bytes, const int max_nbors); /// Total host memory used by library double host_memory_usage() const; diff --git a/lib/gpu/pair_gpu_atom.h b/lib/gpu/pair_gpu_atom.h index a5796db45a..18acafea3b 100644 --- a/lib/gpu/pair_gpu_atom.h +++ b/lib/gpu/pair_gpu_atom.h @@ -29,19 +29,21 @@ #ifdef _SINGLE_DOUBLE #define PRECISION float #define ACC_PRECISION double +#define MAX_ATOMS 65536 #endif #ifdef _DOUBLE_DOUBLE #define PRECISION double #define ACC_PRECISION double +#define MAX_ATOMS 32768 #endif #ifndef PRECISION #define PRECISION float #define ACC_PRECISION double +#define MAX_ATOMS 65536 #endif -#define MAX_ATOMS 65536 #include "nvc_timer.h" #include "pair_gpu_texture.h" diff --git a/lib/gpu/pair_gpu_texture.h b/lib/gpu/pair_gpu_texture.h index 8ba6b830c3..76bac71367 100644 --- a/lib/gpu/pair_gpu_texture.h +++ b/lib/gpu/pair_gpu_texture.h @@ -26,6 +26,14 @@ #ifndef PAIR_GPU_TEXTURE_H #define PAIR_GPU_TEXTURE_H +#ifdef _SINGLE_DOUBLE +#define GB_GPU_DOUBLE +#endif + +#ifdef _DOUBLE_DOUBLE +#define GB_GPU_DOUBLE +#endif + template class cu_vec_traits; template <> class cu_vec_traits { public: typedef float2 vec2; }; template <> class cu_vec_traits { public: typedef double2 vec2; };