diff --git a/easybuild/easyconfigs/n/NAMD/NAMD-2.14-foss-2019b-mpi.eb b/easybuild/easyconfigs/n/NAMD/NAMD-2.14-foss-2019b-mpi.eb new file mode 100644 index 000000000000..a26d785ac5d5 --- /dev/null +++ b/easybuild/easyconfigs/n/NAMD/NAMD-2.14-foss-2019b-mpi.eb @@ -0,0 +1,28 @@ +name = 'NAMD' +version = '2.14' +versionsuffix = '-mpi' + +homepage = 'https://www.ks.uiuc.edu/Research/namd/' +description = """NAMD is a parallel molecular dynamics code designed for high-performance simulation of + large biomolecular systems.""" + +toolchain = {'name': 'foss', 'version': '2019b'} +toolchainopts = {'usempi': True, 'openmp': False, 'pic': True} + +source_urls = ['https://www.ks.uiuc.edu/Research/namd/%(version)s/download/946183/'] +sources = ['%(name)s_%(version)s_Source.tar.gz'] +checksums = ['34044d85d9b4ae61650ccdba5cda4794088c3a9075932392dd0752ef8c049235'] + +dependencies = [ + ('Tcl', '8.6.9'), + ('FFTW', '3.3.8'), +] + +# /bin/csh is required by 'config' script +osdependencies = ['tcsh'] + +# Hard to make charm build the mpi version with gcc on POWER, so we don't currently try. +charm_arch = "mpi-linux-x86_64" +charm_extra_cxxflags = '-fpermissive' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NAMD/NAMD-2.14-fosscuda-2019b.eb b/easybuild/easyconfigs/n/NAMD/NAMD-2.14-fosscuda-2019b.eb new file mode 100644 index 000000000000..ef908d6e1979 --- /dev/null +++ b/easybuild/easyconfigs/n/NAMD/NAMD-2.14-fosscuda-2019b.eb @@ -0,0 +1,31 @@ +name = 'NAMD' +version = '2.14' + +homepage = 'https://www.ks.uiuc.edu/Research/namd/' +description = """NAMD is a parallel molecular dynamics code designed for high-performance simulation of + large biomolecular systems.""" + +toolchain = {'name': 'fosscuda', 'version': '2019b'} +toolchainopts = {'usempi': False, 'openmp': False, 'pic': True} + +source_urls = ['https://www.ks.uiuc.edu/Research/namd/%(version)s/download/946183/'] +sources = [{'filename': 'NAMD_%(version)s_Source.tar.gz'}] +# support for GCC 8+ on POWER +patches = ["%(name)s-%(version)s_Linux-POWER-cuda.patch"] +checksums = [ + '34044d85d9b4ae61650ccdba5cda4794088c3a9075932392dd0752ef8c049235', # NAMD_2.14_Source.tar.gz + 'db4aeb482dfa805c859ea18940026395763169e0257401ee5341ca550029031c', # NAMD-2.14_Linux-POWER-cuda.patch +] + +dependencies = [ + ('Tcl', '8.6.9'), + ('FFTW', '3.3.8'), +] + +# /bin/csh is required by 'config' script +osdependencies = ['tcsh'] + +charm_arch = "multicore-linux-%(arch)s" +charm_extra_cxxflags = '-fpermissive' + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/n/NAMD/NAMD-2.14_Linux-POWER-cuda.patch b/easybuild/easyconfigs/n/NAMD/NAMD-2.14_Linux-POWER-cuda.patch new file mode 100644 index 000000000000..18bf2f71398b --- /dev/null +++ b/easybuild/easyconfigs/n/NAMD/NAMD-2.14_Linux-POWER-cuda.patch @@ -0,0 +1,26 @@ +For POWER and gcc 8+ we need to set -std=c++11 to avoid 'error: identifier “__ieee128” is undefined' + +author: Andrew Edmondson (University Birmingham) + +--- arch/Linux-POWER.cuda.orig 2020-08-05 18:51:20.000000000 +0100 ++++ arch/Linux-POWER.cuda 2020-08-11 11:24:49.471069513 +0100 +@@ -13,5 +13,6 @@ + CUDA=$(CUDAFLAGS) -I. $(CUBINCL) $(CUDAINCL) + CUDACC=$(CUDADIR)/bin/nvcc -Xcompiler "-m64" + +-CUDACCOPTS=-O3 --maxrregcount 48 $(CUDAGENCODE) $(CUDA) -use_fast_math ++# For POWER and gcc 8+ we need to set -std=c++11 to avoid 'error: identifier “__ieee128” is undefined' ++CUDACCOPTS=-O3 --maxrregcount 48 $(CUDAGENCODE) $(CUDA) -use_fast_math -std=c++11 + +--- arch/Linux-POWER-g++.arch.orig 2020-08-11 11:34:22.373336634 +0100 ++++ arch/Linux-POWER-g++.arch 2020-08-11 11:33:37.085528433 +0100 +@@ -2,7 +2,8 @@ + CHARMARCH = multicore-linux-ppc + + CXX = g++ -m64 -std=c++11 +-CXXOPTS = -O3 -fexpensive-optimizations -ffast-math ++# For POWER and gcc 8+ we need to set -std=c++11 to avoid 'error: identifier “__ieee128” is undefined' ++CXXOPTS = -O3 -fexpensive-optimizations -ffast-math -std=c++11 + CC = gcc -m64 + COPTS = -O3 -fexpensive-optimizations -ffast-math +