Skip to content

Commit

Permalink
Merge pull request #11090 from bear-rsg/20200811151158_new_pr_NAMD214
Browse files Browse the repository at this point in the history
{chem}[foss/2019b,fosscuda/2019b] NAMD v2.14
  • Loading branch information
boegel authored Aug 14, 2020
2 parents 7dc0bb3 + 0f37d99 commit 6e3b3c8
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 0 deletions.
28 changes: 28 additions & 0 deletions easybuild/easyconfigs/n/NAMD/NAMD-2.14-foss-2019b-mpi.eb
Original file line number Diff line number Diff line change
@@ -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'
31 changes: 31 additions & 0 deletions easybuild/easyconfigs/n/NAMD/NAMD-2.14-fosscuda-2019b.eb
Original file line number Diff line number Diff line change
@@ -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'
26 changes: 26 additions & 0 deletions easybuild/easyconfigs/n/NAMD/NAMD-2.14_Linux-POWER-cuda.patch
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 6e3b3c8

Please sign in to comment.