diff --git a/Golden_Repo/a/AMBER/AMBER-20-gpsmkl-2021b.eb b/Golden_Repo/a/AMBER/AMBER-20-gpsmkl-2021b.eb new file mode 100644 index 0000000000000000000000000000000000000000..b3d1e396dc2c15f6856d70fd4de96b875e115442 --- /dev/null +++ b/Golden_Repo/a/AMBER/AMBER-20-gpsmkl-2021b.eb @@ -0,0 +1,90 @@ +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': 'gpsmkl', 'version': '2021b'} +toolchainopts = {'pic': True} + +builddependencies = [ + ('CMake', '3.21.1', '', SYSTEM), +] +dependencies = [ + ('FFTW', '3.3.10'), + ('Python', '3.9.6'), + ('SciPy-Stack', '2021b', '', ('gcccoremkl', '11.2.0-2021.4.0')), + ('Boost', '1.78.0'), + ('flex', '2.6.4'), + ('NCCL', '2.11.4', '-CUDA-11.5'), +] + +sources = [ + 'AmberTools21.tar.bz2', + 'Amber20.tar.bz2', +] +patches = [ + 'fix_nmrat_error.patch', +] +checksums = [ + 'f55fa930598d5a8e9749e8a22d1f25cab7fcf911d98570e35365dd7f262aaafd', + 'a4c53639441c8cc85adee397933d07856cc4a723c82c6bea585cd76c197ead75', + 'af92af090fc4df06b504bd9aabc88f3c63b006aa15b70ee118a789ce19f60b98', +] + +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 -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 +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/', +} + +modluafooter = ''' +add_property("arch","gpu") +''' + +group = "amber" + +modloadmsg = ''' +The access to this software is restricted to members of the group "amber". +The JSC has a site licence for academic users. If you would like to get +access please see: +"http://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/Chemistry/AmberConfirmationOfLicence.html" +''' + +moduleclass = 'bio' diff --git a/Golden_Repo/a/AMBER/fix_nmrat_error.patch b/Golden_Repo/a/AMBER/fix_nmrat_error.patch new file mode 100644 index 0000000000000000000000000000000000000000..76804f018070277c9a77c09fe05a9e4c4a90ee9c --- /dev/null +++ b/Golden_Repo/a/AMBER/fix_nmrat_error.patch @@ -0,0 +1,12 @@ +diff -ruN amber20_src/src/pmemd/src/cuda/gpu.cpp amber20_src1/src/pmemd/src/cuda/gpu.cpp +--- 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 {