diff --git a/lib/gpu/Makefile.linux b/lib/gpu/Makefile.linux index a26fbe114c..3fa1dcdce6 100644 --- a/lib/gpu/Makefile.linux +++ b/lib/gpu/Makefile.linux @@ -22,13 +22,13 @@ NVCC = nvcc #CUDA_ARCH = -arch=sm_21 # Kepler hardware -CUDA_ARCH = -arch=sm_30 +#CUDA_ARCH = -arch=sm_30 #CUDA_ARCH = -arch=sm_32 #CUDA_ARCH = -arch=sm_35 #CUDA_ARCH = -arch=sm_37 # Maxwell hardware -#CUDA_ARCH = -arch=sm_50 +CUDA_ARCH = -arch=sm_50 #CUDA_ARCH = -arch=sm_52 # Pascal hardware diff --git a/lib/gpu/Makefile.linux.double b/lib/gpu/Makefile.linux.double index 05f083697d..4693c86d57 100644 --- a/lib/gpu/Makefile.linux.double +++ b/lib/gpu/Makefile.linux.double @@ -7,18 +7,40 @@ EXTRAMAKE = Makefile.lammps.standard +ifeq ($(CUDA_HOME),) CUDA_HOME = /usr/local/cuda +endif + NVCC = nvcc -# Kepler CUDA -#CUDA_ARCH = -arch=sm_35 -# Tesla CUDA -CUDA_ARCH = -arch=sm_21 -# newer CUDA +# obsolete hardware. not supported by current drivers anymore. #CUDA_ARCH = -arch=sm_13 -# older CUDA #CUDA_ARCH = -arch=sm_10 -DCUDA_PRE_THREE +# Fermi hardware +#CUDA_ARCH = -arch=sm_20 +#CUDA_ARCH = -arch=sm_21 + +# Kepler hardware +#CUDA_ARCH = -arch=sm_30 +#CUDA_ARCH = -arch=sm_32 +#CUDA_ARCH = -arch=sm_35 +#CUDA_ARCH = -arch=sm_37 + +# Maxwell hardware +CUDA_ARCH = -arch=sm_50 +#CUDA_ARCH = -arch=sm_52 + +# Pascal hardware +#CUDA_ARCH = -arch=sm_60 +#CUDA_ARCH = -arch=sm_61 + +# Volta hardware +#CUDA_ARCH = -arch=sm_70 + +# Turing hardware +#CUDA_ARCH = -arch=sm_75 + # this setting should match LAMMPS Makefile # one of LAMMPS_SMALLBIG (default), LAMMPS_BIGBIG and LAMMPS_SMALLSMALL @@ -33,7 +55,7 @@ CUDA_PRECISION = -D_DOUBLE_DOUBLE CUDA_INCLUDE = -I$(CUDA_HOME)/include CUDA_LIB = -L$(CUDA_HOME)/lib64 -L$(CUDA_HOME)/lib64/stubs -CUDA_OPTS = -DUNIX -O3 --use_fast_math +CUDA_OPTS = -DUNIX -O3 --use_fast_math $(LMP_INC) -Xcompiler -fPIC CUDR_CPP = mpic++ -DMPI_GERYON -DUCL_NO_EXIT -DMPICH_IGNORE_CXX_SEEK CUDR_OPTS = -O2 # -xHost -no-prec-div -ansi-alias diff --git a/lib/gpu/Makefile.linux.mixed b/lib/gpu/Makefile.linux.mixed index ca414f1fc1..03c776fad0 100644 --- a/lib/gpu/Makefile.linux.mixed +++ b/lib/gpu/Makefile.linux.mixed @@ -7,18 +7,41 @@ EXTRAMAKE = Makefile.lammps.standard +ifeq ($(CUDA_HOME),) CUDA_HOME = /usr/local/cuda +endif + NVCC = nvcc -# Kepler CUDA -#CUDA_ARCH = -arch=sm_35 -# Tesla CUDA -CUDA_ARCH = -arch=sm_21 -# newer CUDA +# obsolete hardware. not supported by current drivers anymore. #CUDA_ARCH = -arch=sm_13 # older CUDA #CUDA_ARCH = -arch=sm_10 -DCUDA_PRE_THREE +# Fermi hardware +#CUDA_ARCH = -arch=sm_20 +#CUDA_ARCH = -arch=sm_21 + +# Kepler hardware +#CUDA_ARCH = -arch=sm_30 +#CUDA_ARCH = -arch=sm_32 +#CUDA_ARCH = -arch=sm_35 +#CUDA_ARCH = -arch=sm_37 + +# Maxwell hardware +CUDA_ARCH = -arch=sm_50 +#CUDA_ARCH = -arch=sm_52 + +# Pascal hardware +#CUDA_ARCH = -arch=sm_60 +#CUDA_ARCH = -arch=sm_61 + +# Volta hardware +#CUDA_ARCH = -arch=sm_70 + +# Turing hardware +#CUDA_ARCH = -arch=sm_75 + # this setting should match LAMMPS Makefile # one of LAMMPS_SMALLBIG (default), LAMMPS_BIGBIG and LAMMPS_SMALLSMALL @@ -33,7 +56,7 @@ CUDA_PRECISION = -D_SINGLE_DOUBLE CUDA_INCLUDE = -I$(CUDA_HOME)/include CUDA_LIB = -L$(CUDA_HOME)/lib64 -L$(CUDA_HOME)/lib64/stubs -CUDA_OPTS = -DUNIX -O3 --use_fast_math +CUDA_OPTS = -DUNIX -O3 --use_fast_math $(LMP_INC) -Xcompiler -fPIC CUDR_CPP = mpic++ -DMPI_GERYON -DUCL_NO_EXIT -DMPICH_IGNORE_CXX_SEEK CUDR_OPTS = -O2 # -xHost -no-prec-div -ansi-alias diff --git a/lib/gpu/Makefile.linux.single b/lib/gpu/Makefile.linux.single index 1b349faac2..0c3d525b4e 100644 --- a/lib/gpu/Makefile.linux.single +++ b/lib/gpu/Makefile.linux.single @@ -7,18 +7,40 @@ EXTRAMAKE = Makefile.lammps.standard +ifeq ($(CUDA_HOME),) CUDA_HOME = /usr/local/cuda +endif + NVCC = nvcc -# Kepler CUDA -#CUDA_ARCH = -arch=sm_35 -# Tesla CUDA -CUDA_ARCH = -arch=sm_21 -# newer CUDA +# obsolete hardware. not supported by current drivers anymore. #CUDA_ARCH = -arch=sm_13 -# older CUDA #CUDA_ARCH = -arch=sm_10 -DCUDA_PRE_THREE +# Fermi hardware +#CUDA_ARCH = -arch=sm_20 +#CUDA_ARCH = -arch=sm_21 + +# Kepler hardware +#CUDA_ARCH = -arch=sm_30 +#CUDA_ARCH = -arch=sm_32 +#CUDA_ARCH = -arch=sm_35 +#CUDA_ARCH = -arch=sm_37 + +# Maxwell hardware +CUDA_ARCH = -arch=sm_50 +#CUDA_ARCH = -arch=sm_52 + +# Pascal hardware +#CUDA_ARCH = -arch=sm_60 +#CUDA_ARCH = -arch=sm_61 + +# Volta hardware +#CUDA_ARCH = -arch=sm_70 + +# Turing hardware +#CUDA_ARCH = -arch=sm_75 + # this setting should match LAMMPS Makefile # one of LAMMPS_SMALLBIG (default), LAMMPS_BIGBIG and LAMMPS_SMALLSMALL @@ -33,7 +55,7 @@ CUDA_PRECISION = -D_SINGLE_SINGLE CUDA_INCLUDE = -I$(CUDA_HOME)/include CUDA_LIB = -L$(CUDA_HOME)/lib64 -L$(CUDA_HOME)/lib64/stubs -CUDA_OPTS = -DUNIX -O3 --use_fast_math +CUDA_OPTS = -DUNIX -O3 --use_fast_math $(LMP_INC) -Xcompiler -fPIC CUDR_CPP = mpic++ -DMPI_GERYON -DUCL_NO_EXIT -DMPICH_IGNORE_CXX_SEEK CUDR_OPTS = -O2 # -xHost -no-prec-div -ansi-alias diff --git a/lib/gpu/Makefile.linux_multi b/lib/gpu/Makefile.linux_multi index ba50170f39..d47f87e871 100644 --- a/lib/gpu/Makefile.linux_multi +++ b/lib/gpu/Makefile.linux_multi @@ -13,17 +13,27 @@ endif NVCC = nvcc -# Kepler CUDA -#CUDA_ARCH = -arch=sm_35 -# newer CUDA +# obsolete hardware. not supported by current drivers anymore. #CUDA_ARCH = -arch=sm_13 -# older CUDA #CUDA_ARCH = -arch=sm_10 -DCUDA_PRE_THREE -CUDA_ARCH = -arch=sm_30 -CUDA_CODE = -gencode arch=compute_60,code=[sm_60,compute_60] -gencode arch=compute_61,code=[sm_61,compute_61] \ - -gencode arch=compute_30,code=[sm_30,compute_30] -gencode arch=compute_35,code=[sm_35,compute_35] \ - -gencode arch=compute_50,code=[sm_50,compute_50] -gencode arch=compute_52,code=[sm_52,compute_52] +# Fermi hardware +#CUDA_ARCH = -arch=sm_20 +#CUDA_ARCH = -arch=sm_21 + +# Kepler hardware +#CUDA_ARCH = -arch=sm_30 +#CUDA_ARCH = -arch=sm_32 +#CUDA_ARCH = -arch=sm_35 +#CUDA_ARCH = -arch=sm_37 + +# Maxwell hardware +CUDA_ARCH = -arch=sm_50 +#CUDA_ARCH = -arch=sm_52 + +CUDA_CODE = -gencode arch=compute_50,code=[sm_50,compute_50] -gencode arch=compute_52,code=[sm_52,compute_52] \ + -gencode arch=compute_60,code=[sm_60,compute_60] -gencode arch=compute_61,code=[sm_61,compute_61] \ + -gencode arch=compute_70,code=[sm_70,compute_70] -gencode arch=compute_75,code=[sm_75,compute_75] CUDA_ARCH += $(CUDA_CODE) diff --git a/lib/gpu/Makefile.serial b/lib/gpu/Makefile.serial index b0cfb3c86b..dfe732ee80 100644 --- a/lib/gpu/Makefile.serial +++ b/lib/gpu/Makefile.serial @@ -13,13 +13,33 @@ endif NVCC = nvcc -# Tesla CUDA -CUDA_ARCH = -arch=sm_21 -# newer CUDA +# obsolete hardware. not supported by current drivers anymore. #CUDA_ARCH = -arch=sm_13 -# older CUDA #CUDA_ARCH = -arch=sm_10 -DCUDA_PRE_THREE -CUDA_ARCH = -arch=sm_35 + +# Fermi hardware +#CUDA_ARCH = -arch=sm_20 +#CUDA_ARCH = -arch=sm_21 + +# Kepler hardware +#CUDA_ARCH = -arch=sm_30 +#CUDA_ARCH = -arch=sm_32 +#CUDA_ARCH = -arch=sm_35 +#CUDA_ARCH = -arch=sm_37 + +# Maxwell hardware +CUDA_ARCH = -arch=sm_50 +#CUDA_ARCH = -arch=sm_52 + +# Pascal hardware +#CUDA_ARCH = -arch=sm_60 +#CUDA_ARCH = -arch=sm_61 + +# Volta hardware +#CUDA_ARCH = -arch=sm_70 + +# Turing hardware +#CUDA_ARCH = -arch=sm_75 # this setting should match LAMMPS Makefile # one of LAMMPS_SMALLBIG (default), LAMMPS_BIGBIG and LAMMPS_SMALLSMALL @@ -35,7 +55,7 @@ CUDA_PRECISION = -D_SINGLE_DOUBLE CUDA_INCLUDE = -I$(CUDA_HOME)/include CUDA_LIB = -L$(CUDA_HOME)/lib64 -L$(CUDA_HOME)/lib64/stubs -L../../src/STUBS -lmpi_stubs -CUDA_OPTS = -DUNIX -O3 --use_fast_math $(LMP_INC) +CUDA_OPTS = -DUNIX -O3 --use_fast_math $(LMP_INC) -Xcompiler -fPIC CUDR_CPP = g++ -DMPI_GERYON -DUCL_NO_EXIT -fPIC -I../../src/STUBS CUDR_OPTS = -O2 $(LMP_INC) # -xHost -no-prec-div -ansi-alias