Skip to content
Snippets Groups Projects
Commit 3053222e authored by Sandipan Mohanty's avatar Sandipan Mohanty
Browse files

AMBER 20 with AmberTools 21 for foss toolchain

A lot of patches were necessary in the sources, in C, C++
Python and CMake, but we have a working version of AMBER-20
with the other packages in the 2023 stage. The most trouble
came from certain API changes in Python 3.10. It is easy to
compile AMBER 20, but because of changes to the interfaces
of some Python--C interface functions like Py_REFCNT, which
were used in a lot of places in AMBER, over 500 changes
spread over 25 files are necessary. In addition, in this
version, we make sure that fftw and netcdf are used from
the installed versions instead of using the bundled version
inside AMBER.
parent 201c15a8
No related branches found
No related tags found
No related merge requests found
easyblock = 'CMakeMake'
name = 'AMBER'
version = '20'
versionsuffix = '-AmberTools-21'
homepage = 'http://ambermd.org'
description = """
AMBER: 'Assisted Model Building with Energy Refinement' is a set of molecular
mechanics force fields and a package of molecular simulation programs.
Citation:
D.A. Case, K. Belfon, I.Y. Ben-Shalom, S.R. Brozell, D.S. Cerutti,
T.E. Cheatham, III, V.W.D. Cruzeiro, T.A. Darden, R.E. Duke, G. Giambasu,
M.K. Gilson, H. Gohlke, A.W. Goetz, R. Harris, S. Izadi, S.A. Izmailov,
K. Kasavajhala, A. Kovalenko, R. Krasny, T. Kurtzman, T.S. Lee, S. LeGrand,
P. Li, C. Lin, J. Liu, T. Luchko, R. Luo, V. Man, K.M. Merz, Y. Miao,
O. Mikhailovskii, G. Monard, H. Nguyen, A. Onufriev, F.Pan, S. Pantano,
R. Qi, D.R. Roe, A. Roitberg, C. Sagui, S. Schott-Verdugo, J. Shen,
C. Simmerling, N.R.Skrynnikov, J. Smith, J. Swails, R.C. Walker, J. Wang,
L. Wilson, R.M. Wolf, X. Wu, Y. Xiong, Y. Xue, D.M. York
and P.A. Kollman (2020),
AMBER 2020, University of California, San Francisco.
"""
toolchain = {'name': 'foss', 'version': '2022a'}
toolchainopts = {'pic': True}
toolchainopts = {'openmp': True, 'usempi': True}
builddependencies = [
('CMake', '3.23.1'),
('binutils', '2.38'),
]
dependencies = [
('FFTW.MPI', '3.3.10'),
('Boost', '1.79.0'),
('flex', '2.6.4'),
('NCCL', 'default', '-CUDA-11.7'),
('netCDF', '4.9.0'),
('netCDF-Fortran', '4.6.0'),
('PnetCDF', '1.12.3'),
('Python', '3.10.4'),
('matplotlib', '3.5.2', '', ('gcccoremkl', '11.3.0-2022.1.0')),
('mpi4py', '3.1.4', '', ('gompi', '2022a'))
]
sources = [
'AmberTools21.tar.bz2',
'Amber20.tar.bz2',
]
patches = [
'fix_nmrat_error.patch',
'adapt_to_python_3_10_api_changes.patch',
'AmberTools-21_CMake-FlexiBLAS.patch',
'AmberTools-21_fix_more_blas_argument_problems.patch',
'AmberTools-21_fix_rism_argument_mismatch.patch',
'AmberTools-21_fix_xray_fftpack_arg_mismatch.patch',
'Fix_FFTW_find_error_due_to_MPI_components.patch',
'Fix_netcdf_find_error_due_to_missed_F77_F90_interfaces.patch',
]
checksums = [
'f55fa930598d5a8e9749e8a22d1f25cab7fcf911d98570e35365dd7f262aaafd',
'a4c53639441c8cc85adee397933d07856cc4a723c82c6bea585cd76c197ead75',
'00394f987105f047cbacf5f002170a11720f0decbd399a59db6b3b6c8e950677',
'f5e7ff2fb5e782f5b64a70e750d1ccc6566fd600663dd339f1769ceca60f64d6',
'9543812c24c4b7842f64f1f8abaf2c92b5c4c0fadcdbd9811e76b81a778f0d36',
'c6279b57752239184b942d37f760749494ae0eff95236f3368c76ac0d2726a7c',
'14255e5739cec39303df570f06820c7532f7395e1b73b1e4104377984e2c9fc1',
'99c954e693659efc2a1d121f91510f56408006f0751d91595f45a34b03364e2f',
'468acfd764e8e3787f8f855e724a16ae11e92d36576994297eec26e6e0b41dd0',
'4f409c139ff49f61b1f617a34202b61223c2d8ae474ac9de62313aaad2284afd',
]
separate_build_dir = True
local_build_mpi_parts = "TRUE"
local_build_cuda_parts = "TRUE"
local_build_cuda_nccl = "TRUE"
preconfigopts = "CC=gcc && CXX=g++ && COMPILER=GNU "
preconfigopts += " && cd %(builddir)s/amber20_src && "
preconfigopts += " ./update_amber --update && cd ../easybuild_obj && "
configopts = "-DCOMPILER=GNU -DCHECK_UPDATES=OFF -DAPPLY_UPDATES=OFF -DBUILD_GUI=FALSE "
configopts += " -DINSTALL_TESTS=TRUE -DOPENMP=TRUE -DMPI=%s " % local_build_mpi_parts
configopts += " -DDOWNLOAD_MINICONDA=FALSE -DTRUST_SYSTEM_LIBS=TRUE "
configopts += " -DCUDA=%s " % local_build_cuda_parts
configopts += " -DNCCL=%s " % local_build_cuda_nccl
configopts += " -DBLA_VENDOR=FlexiBLAS "
configopts += " -DFORCE_EXTERNAL_LIBS='boost;fftw;netcdf;netcdf-fortran;pnetcdf' "
configopts += " -DUSE_FFT=TRUE "
buildopts = 'NVCC_GENCODE="-gencode=arch=compute_70,code=sm_70 \
-gencode=arch=compute_75,code=sm_75 \
-gencode=arch=compute_80,code=sm_80"'
modextravars = {
'AMBERHOME': '%(installdir)s/',
}
modextrapaths = {'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']}
modluafooter = '''
add_property("arch","gpu")
'''
group = "amber"
modloadmsg = '''
Info: (1) Check the loaded modules to see if loading the AMBER module
succeeded. If it did, ignore the rest of this message. (2) If AMBER
didn't load, one possible reason is that "amber" is not currently
your primary group. You can temporarily change your primary group by
typing "newgrp amber". (3) If that didn't work, you are probably
not a member of the group "amber", you have to first add yourself
to that group. Visit "https://judoor.fz-juelich.de/", follow the
link "Request access to restricted software", enable "amber" for
your account, wait 15-20 minutes and then try "newgrp amber" again.
'''
moduleclass = 'bio'
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment