Skip to content

Instantly share code, notes, and snippets.

@surak
Created March 15, 2023 14:15
Show Gist options
  • Save surak/980cfbc5321f6e0738ea493828170be2 to your computer and use it in GitHub Desktop.
Save surak/980cfbc5321f6e0738ea493828170be2 to your computer and use it in GitHub Desktop.
easyblock = 'CMakeMake'
name = 'AMBERTools'
version = '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'),
('Bison', '3.8.2'),
('flex', '2.6.4'),
('NCCL', '2.12.12', '-CUDA-11.7.0'),
('netCDF', '4.9.0'),
('netCDF-Fortran', '4.6.0'),
('PnetCDF', '1.12.3'),
('Python', '3.10.4'),
('matplotlib', '3.5.2'),
('mpi4py', '3.1.4'),
]
sources = [
'AmberTools21.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 = [
{'AmberTools21.tar.bz2': 'f55fa930598d5a8e9749e8a22d1f25cab7fcf911d98570e35365dd7f262aaafd'},
#{'fix_nmrat_error.patch': '00394f987105f047cbacf5f002170a11720f0decbd399a59db6b3b6c8e950677'},
{'adapt_to_python_3_10_api_changes.patch': 'f5e7ff2fb5e782f5b64a70e750d1ccc6566fd600663dd339f1769ceca60f64d6'},
{'AmberTools-21_CMake-FlexiBLAS.patch': '9543812c24c4b7842f64f1f8abaf2c92b5c4c0fadcdbd9811e76b81a778f0d36'},
{'AmberTools-21_fix_more_blas_argument_problems.patch':
'c6279b57752239184b942d37f760749494ae0eff95236f3368c76ac0d2726a7c'},
{'AmberTools-21_fix_rism_argument_mismatch.patch':
'14255e5739cec39303df570f06820c7532f7395e1b73b1e4104377984e2c9fc1'},
{'AmberTools-21_fix_xray_fftpack_arg_mismatch.patch':
'99c954e693659efc2a1d121f91510f56408006f0751d91595f45a34b03364e2f'},
{'Fix_FFTW_find_error_due_to_MPI_components.patch':
'468acfd764e8e3787f8f855e724a16ae11e92d36576994297eec26e6e0b41dd0'},
{'Fix_netcdf_find_error_due_to_missed_F77_F90_interfaces.patch':
'4f409c139ff49f61b1f617a34202b61223c2d8ae474ac9de62313aaad2284afd'},
]
separate_build_dir = True
local_build_mpi_parts = "TRUE"
local_build_cuda_parts = "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_HOME=$EBROOTNCCL -DNCCL=FALSE" # Doesn't find it
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")
'''
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'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment