Skip to content
Snippets Groups Projects
user avatar
sjplimp authored
git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@12649 f3b2605a-c512-4ea7-a41b-209d697bcdaa
7cea6519
History
Name Last commit Last update
..
Makefile
Makefile.common
Makefile.cudalib
Makefile.defaults
Makefile.lammps
README
atom_vec_angle_cuda.cu
atom_vec_angle_cuda_cu.h
atom_vec_atomic_cuda.cu
atom_vec_atomic_cuda_cu.h
atom_vec_charge_cuda.cu
atom_vec_charge_cuda_cu.h
atom_vec_cuda.cu
atom_vec_cuda_cu.h
atom_vec_cuda_kernel.cu
atom_vec_full_cuda.cu
atom_vec_full_cuda_cu.h
comm_cuda.cu
comm_cuda_cu.h
comm_cuda_kernel.cu
compute_temp_cuda.cu
compute_temp_cuda_cu.h
compute_temp_cuda_kernel.cu
compute_temp_partial_cuda.cu
compute_temp_partial_cuda_cu.h
compute_temp_partial_cuda_kernel.cu
crm_cuda_utils.cu
cuda.cu
cuda_common.h
cuda_cu.h
cuda_data.cu
cuda_data_cu.h
cuda_data_kernel.cu
cuda_kernel.cu
cuda_pair.cu
cuda_pair_cu.h
cuda_pair_kernel.cu
cuda_pair_virial_kernel_nc.cu
cuda_precision.h
cuda_shared.h
cuda_wrapper.cu
cuda_wrapper_cu.h
cuda_wrapper_kernel.cu
domain.cu
domain_cu.h
domain_kernel.cu
fft3d_cuda.cu
fft3d_cuda_cu.h
fft3d_cuda_kernel.cu
fix_addforce_cuda.cu
fix_addforce_cuda_cu.h
fix_addforce_cuda_kernel.cu
fix_aveforce_cuda.cu
fix_aveforce_cuda_cu.h
fix_aveforce_cuda_kernel.cu
fix_enforce2d_cuda.cu
fix_enforce2d_cuda_cu.h
fix_enforce2d_cuda_kernel.cu
fix_freeze_cuda.cu
fix_freeze_cuda_cu.h
fix_freeze_cuda_kernel.cu
fix_gravity_cuda.cu
fix_gravity_cuda_cu.h
fix_gravity_cuda_kernel.cu
fix_nh_cuda.cu
fix_nh_cuda_cu.h
fix_nh_cuda_kernel.cu
fix_nve_cuda.cu
fix_nve_cuda_cu.h
fix_nve_cuda_kernel.cu
fix_set_force_cuda.cu
fix_set_force_cuda_cu.h
fix_set_force_cuda_kernel.cu
fix_shake_cuda.cu
fix_shake_cuda_cu.h
fix_shake_cuda_kernel.cu
fix_temp_berendsen_cuda.cu
fix_temp_berendsen_cuda_cu.h
fix_temp_berendsen_cuda_kernel.cu
fix_temp_rescale_cuda.cu
fix_temp_rescale_cuda_cu.h
fix_temp_rescale_cuda_kernel.cu
fix_temp_rescale_limit_cuda.cu
fix_temp_rescale_limit_cuda_cu.h
fix_temp_rescale_limit_cuda_kernel.cu
fix_viscous_cuda.cu
fix_viscous_cuda_cu.h
fix_viscous_cuda_kernel.cu
neighbor.cu
neighbor_cu.h
neighbor_kernel.cu
pair_born_coul_long_cuda.cu
pair_born_coul_long_cuda_cu.h
pair_born_coul_long_cuda_kernel_nc.cu
pair_buck_coul_cut_cuda.cu
pair_buck_coul_cut_cuda_cu.h
pair_buck_coul_long_cuda.cu
pair_buck_coul_long_cuda_cu.h
pair_buck_cuda.cu
pair_buck_cuda_cu.h
USER-CUDA library
Christian Trott, crtrott at sandia.gov

-------------------------------------------------------------------

This directory has source files to build a library that LAMMPS links
against when using the USER-CUDA package.

This library must be built before LAMMPS is built, so LAMMPS can link
against it.  The build process also write settings into the
Makefile.lammps file which are used when files in the src/USER-CUDA
package are compiled.

Thus if you re-build this library (e.g. for a different precision),
you MUST re-compile the src/USER-CUDA files as well.  You can force
this to happen by uninstalling, then re-installing the USER-CUDA
package (make no-user-cuda; make yes-user-cuda) before doing
a LAMMPS build.

Build this library in two steps.  First type:

make OPTIONS

where OPTIONS is one or more of the following settings:

precision=N to set the precision level
  N = 1 for single precision (default)
  N = 2 for double precision
  N = 3 for positions in double precision
  N = 4 for positions and velocities in double precision
arch=M to set GPU compute capability
  M = 20 for CC2.0 (GF100/110, e.g. C2050,GTX580,GTX470) (default)
  M = 21 for CC2.1 (GF104/114,  e.g. GTX560, GTX460, GTX450)
  M = 13 for CC1.3 (GF200, e.g. C1060, GTX285)
prec_timer=0/1 to use hi-precision timers
  0 = do not use them (default)
  1 = use these timers
  this is usually only useful for Mac machines 
dbg=0/1 to activate debug mode
  0 = no debug mode (default)
  1 = yes debug mode
  this is only useful for developers
cufft=1 to determine usage of CUDA FFT library
  0 = no CUFFT support (default)
  in the future other CUDA-enabled FFT libraries might be supported 

This will write settings to the Makefile.defaults file.

Then type "make" with with no arguments to build the library with the
new settings.

After the second make, two files should exist in this directory:

liblammpscuda.a		the library LAMMPS will link against
Makefile.lammps		settings the LAMMPS Makefile will import

Makefile.lammps is created by the make command and will have settings
consistent with the OPTIONS you selected.  It is used by the LAMMPS
build, both for compile-time and link-time settings.