Skip to content
Snippets Groups Projects
Commit e5dab7bd authored by Sebastian Achilles's avatar Sebastian Achilles
Browse files

Merge branch '2023' into '2023'

AMBER 20 with AmberTools 21 for foss and gpsmkl toolchains

See merge request software-team/easybuild!1679
parents 74b541e8 c67ad875
Branches
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'
easyblock = 'CMakeMake'
name = 'AMBER'
version = '20'
versionsuffix = '-AmberTools-21-plumed'
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': 'gpsmkl', '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'))
('PLUMED', '2.8.1'),
]
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;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'
diff -ruN A20_src/AmberTools/src/quick/cmake/jedbrown/FindFFTW.cmake A20_src1/AmberTools/src/quick/cmake/jedbrown/FindFFTW.cmake
Fix MPI related errors in CMake FindFFTW modules
author: Sandipan Mohanty (Juelich Supercomputing Centre)
--- A20_src/AmberTools/src/quick/cmake/jedbrown/FindFFTW.cmake 2023-01-28 14:19:26.575506981 +0100
+++ A20_src1/AmberTools/src/quick/cmake/jedbrown/FindFFTW.cmake 2023-01-28 14:05:09.172659586 +0100
@@ -242,7 +242,7 @@
set(CMAKE_REQUIRED_LIBRARIES ${FFTW_LIBRARY_MPI})
if(EXISTS "${FFTW_LIBRARY_MPI}")
- fftw_check_c_function(fftw_mpi_init FFTW_MPI_WORKS)
+ fftw_check_c_function(fftw_mpi_init FFTW_MPI_WORKS ${FFTW_LIBRARY_MPI} ${FFTW_LIBRARY_SERIAL} ${MPI_C_LIBRARIES})
else()
set(FFTW_MPI_WORKS FALSE)
endif()
@@ -365,4 +365,4 @@
endif()
# don't leak required libraries
-set(CMAKE_REQUIRED_LIBRARIES "")
\ No newline at end of file
+set(CMAKE_REQUIRED_LIBRARIES "")
diff -ruN A20_src/cmake/jedbrown/FindFFTW.cmake A20_src1/cmake/jedbrown/FindFFTW.cmake
--- A20_src/cmake/jedbrown/FindFFTW.cmake 2023-01-28 14:18:50.145392374 +0100
+++ A20_src1/cmake/jedbrown/FindFFTW.cmake 2023-01-28 14:03:56.662393042 +0100
@@ -242,7 +242,7 @@
set(CMAKE_REQUIRED_LIBRARIES ${FFTW_LIBRARY_MPI})
if(EXISTS "${FFTW_LIBRARY_MPI}")
- fftw_check_c_function(fftw_mpi_init FFTW_MPI_WORKS)
+ fftw_check_c_function(fftw_mpi_init FFTW_MPI_WORKS ${FFTW_LIBRARY_MPI} ${FFTW_LIBRARY_SERIAL} ${MPI_C_LIBRARIES})
else()
set(FFTW_MPI_WORKS FALSE)
endif()
@@ -365,4 +365,4 @@
endif()
# don't leak required libraries
-set(CMAKE_REQUIRED_LIBRARIES "")
\ No newline at end of file
+set(CMAKE_REQUIRED_LIBRARIES "")
diff -ruN A20_src/cmake/jedbrown/FindNetCDF.cmake A20_src1/cmake/jedbrown/FindNetCDF.cmake
Fix NetCDF find errors in CMake modules due to F77 and F90 interface detection errors
author: Sandipan Mohanty (Juelich Supercomputing Centre)
--- A20_src/cmake/jedbrown/FindNetCDF.cmake 2023-01-28 14:29:38.347400350 +0100
+++ A20_src1/cmake/jedbrown/FindNetCDF.cmake 2023-01-28 14:02:28.892122573 +0100
@@ -51,7 +51,7 @@
get_filename_component(NetCDF_lib_dirs "${NetCDF_LIBRARIES_C}" PATH)
macro (NetCDF_check_interface lang header libs)
- find_path (NetCDF_INCLUDES_${lang} NAMES ${header} HINTS "${NetCDF_INCLUDES}" NO_DEFAULT_PATH)
+ find_path (NetCDF_INCLUDES_${lang} NAMES ${header})
find_library (NetCDF_LIBRARIES_${lang} NAMES ${libs} HINTS "${NetCDF_lib_dirs}")
This diff is collapsed.
diff -ruN amber20_src/src/pmemd/src/cuda/gpu.cpp amber20_src1/src/pmemd/src/cuda/gpu.cpp
Fix error about the 2D array nmrat being given 1 index before a comparison with 0
author: Sandipan Mohanty (Juelich Supercomputing Centre)
--- amber20_src/src/pmemd/src/cuda/gpu.cpp 2022-02-28 12:02:56.035534480 +0100
+++ amber20_src1/src/pmemd/src/cuda/gpu.cpp 2022-02-28 12:26:15.265104588 +0100
@@ -2849,7 +2849,7 @@
}
// torsions, resttype = 3
else if (resttype[i] == 3) {
- if (nmrat[i][0] >= 0 && nmrat[i][1] >= 0 && nmrat[i][2] >= 0 && nmrat[3] >= 0) {
+ if (nmrat[i][0] >= 0 && nmrat[i][1] >= 0 && nmrat[i][2] >= 0 && nmrat[i][3] >= 0) {
torsions++;
}
else {
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment