diff --git a/Golden_Repo/a/AMBER/AMBER-22-gpsmkl-2022a.eb b/Golden_Repo/a/AMBER/AMBER-22-gpsmkl-2022a.eb new file mode 100644 index 0000000000000000000000000000000000000000..a286e14a83f55df35363d25b44f2991005e97a94 --- /dev/null +++ b/Golden_Repo/a/AMBER/AMBER-22-gpsmkl-2022a.eb @@ -0,0 +1,112 @@ +easyblock = 'CMakeMake' + +name = 'AMBER' +version = '22' +versionsuffix = '-AmberTools-23-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, H.M. Aktulga, K. Belfon, I.Y. Ben-Shalom, J.T. Berryman, +S.R. Brozell, D.S. Cerutti, T.E. Cheatham, III, G.A. Cisneros, +V.W.D. Cruzeiro, T.A. Darden, N. Forouzesh, G. Giambaşu, T. Giese, +M.K. Gilson, H. Gohlke, A.W. Goetz, J. Harris, S. Izadi, S.A. Izmailov, +K. Kasavajhala, M.C. Kaymak, E. King, A. Kovalenko, T. Kurtzman, +T.S. Lee, P. Li, C. Lin, J. Liu, T. Luchko, R. Luo, M. Machado, +V. Man, M. Manathunga, K.M. Merz, Y. Miao, O. Mikhailovskii, G. Monard, +H. Nguyen, K.A. O’Hearn, A. Onufriev, F. Pan, S. Pantano, R. Qi, +A. Rahnamoun, D.R. Roe, A. Roitberg, C. Sagui, S. Schott-Verdugo, +A. Shajan, J. Shen, C.L. Simmerling, N.R. Skrynnikov, J. Smith, +J. Swails, R.C. Walker, J. Wang, J. Wang, H. Wei, X. Wu, Y. Wu, +Y. Xiong, Y. Xue, D.M. York, S. Zhao, Q. Zhu, and P.A. Kollman +(2023), Amber 2023, 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 = [ + 'AmberTools23.tar.bz2', + 'Amber22.tar.bz2', +] +patches = [ + 'AmberTools-21_CMake-FlexiBLAS.patch', + 'pmemd_xray_non_bulk_no_implicit_type.patch', +] + +checksums = [ + 'debb52e6ef2e1b4eaa917a8b4d4934bd2388659c660501a81ea044903bf9ee9d', + '3c887ccbad690fc76ff0b120a3448eae023c08e76582aac07900d4a9708ebd16', + '9543812c24c4b7842f64f1f8abaf2c92b5c4c0fadcdbd9811e76b81a778f0d36', + '1dc2c70c597b19736b86d9f0e00743282da68eeeb1b57650db44dc3a5f4da898', +] + +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/amber22_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;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 --git a/Golden_Repo/a/AMBER/AmberTools-21_CMake-FlexiBLAS.patch b/Golden_Repo/a/AMBER/AmberTools-21_CMake-FlexiBLAS.patch new file mode 100644 index 0000000000000000000000000000000000000000..669c7e3d3055a88d2a82d5a934d025aee421b597 --- /dev/null +++ b/Golden_Repo/a/AMBER/AmberTools-21_CMake-FlexiBLAS.patch @@ -0,0 +1,91 @@ +make CMake scripts that picks BLAS/LAPACK library aware of FlexiBLAS +author: Kenneth Hoste (HPC-UGent) +--- cmake/patched-cmake-modules/FindBLASFixed.cmake.orig 2022-05-04 18:53:42.410384491 +0200 ++++ cmake/patched-cmake-modules/FindBLASFixed.cmake 2022-05-04 18:54:39.034612008 +0200 +@@ -36,7 +36,7 @@ + # BLA_F95 if set on tries to find the f95 interfaces for BLAS/LAPACK + # + # ######### ## List of vendors (BLA_VENDOR) valid in this module # +-# Goto,OpenBLAS,ATLAS PhiPACK,CXML,DXML,SunPerf,SCSL,SGIMATH,IBMESSL, ++# Goto,OpenBLAS,FlexiBLAS ATLAS PhiPACK,CXML,DXML,SunPerf,SCSL,SGIMATH,IBMESSL, + # ACML,ACML_MP,ACML_GPU,Apple, NAS, Generic + + include(CMakePushCheckState) +@@ -49,8 +49,8 @@ + set(BLA_VENDOR_DEFAULT "All") + endif () + +-set(BLA_VENDOR ${BLA_VENDOR_DEFAULT} CACHE STRING "BLAS vendor to use for BLAS and Lapack. Valid values: All, Goto, OpenBLAS, ATLAS, PhiPACK, CXML, DXML, SunPerf, SCSL, SGIMATH, IBMESSL, ACML, ACML_MP, ACML_GPU, Apple, NAS, Generic") +-validate_configuration_enum(BLA_VENDOR All Goto OpenBLAS ATLAS PhiPACK CXML DXML SunPerf SCSL SGIMATH IBMESSL ACML ACML_MP ACML_GPU Apple NAS Generic) ++set(BLA_VENDOR ${BLA_VENDOR_DEFAULT} CACHE STRING "BLAS vendor to use for BLAS and Lapack. Valid values: All, Goto, OpenBLAS, FlexiBLAS, ATLAS, PhiPACK, CXML, DXML, SunPerf, SCSL, SGIMATH, IBMESSL, ACML, ACML_MP, ACML_GPU, Apple, NAS, Generic") ++validate_configuration_enum(BLA_VENDOR All Goto OpenBLAS FlexiBLAS ATLAS PhiPACK CXML DXML SunPerf SCSL SGIMATH IBMESSL ACML ACML_MP ACML_GPU Apple NAS Generic) + + if(DEFINED BLAS_FIND_QUIETLY) + set(CMAKE_REQUIRED_QUIET ${BLAS_FIND_QUIETLY}) +@@ -159,6 +159,20 @@ + endif() + endif () + ++if (BLA_VENDOR STREQUAL "FlexiBLAS" OR BLA_VENDOR STREQUAL "All") ++ if(NOT BLAS_LIBRARIES) ++ # FlexiBLAS (https://github.com/mpimd-csc/flexiblas) ++ check_fortran_libraries( ++ BLAS_LIBRARIES ++ BLAS ++ sgemm ++ "" ++ "flexiblas" ++ "" ++ ) ++ endif() ++endif () ++ + if (BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All") + if(NOT BLAS_LIBRARIES) + # OpenBLAS (http://www.openblas.net) +@@ -524,4 +538,4 @@ + endif() + + cmake_pop_check_state() +-set(CMAKE_FIND_LIBRARY_SUFFIXES ${_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) +\ No newline at end of file ++set(CMAKE_FIND_LIBRARY_SUFFIXES ${_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) +--- cmake/patched-cmake-modules/FindLAPACKFixed.cmake.orig 2022-05-04 18:56:14.315407989 +0200 ++++ cmake/patched-cmake-modules/FindLAPACKFixed.cmake 2022-05-04 18:56:39.930772703 +0200 +@@ -36,7 +36,7 @@ + # BLA_F95 if set on tries to find the f95 interfaces for BLAS/LAPACK + # + # ## List of vendors (BLA_VENDOR) valid in this module: +-# OpenBLAS, ACML,Apple, NAS, Generic ++# OpenBLAS, FlexiBLAS, ACML,Apple, NAS, Generic + + set(_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) + +@@ -173,6 +173,20 @@ + endif() + endif () + ++ if(BLA_VENDOR STREQUAL "FlexiBLAS" OR BLA_VENDOR STREQUAL "All") ++ if(NOT LAPACK_LIBRARIES) ++ check_lapack_libraries( ++ LAPACK_LIBRARIES ++ LAPACK ++ cheev ++ "" ++ "flexiblas" ++ "${BLAS_LIBRARIES}" ++ "" ++ ) ++ endif() ++ endif() ++ + if(BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All") + if(NOT LAPACK_LIBRARIES) + check_lapack_libraries( +@@ -289,4 +303,4 @@ + endif() + + cmake_pop_check_state() +-set(CMAKE_FIND_LIBRARY_SUFFIXES ${_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) +\ No newline at end of file ++set(CMAKE_FIND_LIBRARY_SUFFIXES ${_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) diff --git a/Golden_Repo/a/AMBER/pmemd_xray_non_bulk_no_implicit_type.patch b/Golden_Repo/a/AMBER/pmemd_xray_non_bulk_no_implicit_type.patch new file mode 100644 index 0000000000000000000000000000000000000000..834c94690589257f847944e804853b5aa01c6e1e --- /dev/null +++ b/Golden_Repo/a/AMBER/pmemd_xray_non_bulk_no_implicit_type.patch @@ -0,0 +1,19 @@ +diff -ruN amber22_src/src/pmemd/src/xray/src/xray_non_bulk_impl_cpu.F90 amber22_src1/src/pmemd/src/xray/src/xray_non_bulk_impl_cpu.F90 +--- amber22_src/src/pmemd/src/xray/src/xray_non_bulk_impl_cpu.F90 2022-04-09 03:11:46.000000000 +0200 ++++ amber22_src1/src/pmemd/src/xray/src/xray_non_bulk_impl_cpu.F90 2023-08-25 20:30:12.828529000 +0200 +@@ -90,7 +90,7 @@ + call check_precondition(size(frac, 2) == size(scatter_type_index)) + call check_precondition(size(hkl, 2) == size(atomic_scatter_factor, 1)) + +- !$omp parallel do private(ihkl,i,f,angle) ++ !$omp parallel do private(ihkl,f,angle) + do ihkl = 1, size(hkl, 2) + + ! Fhkl = SUM( fj * exp(2 * M_PI * i * (h * xj + k * yj + l * zj)) ), +@@ -127,4 +127,4 @@ + end subroutine calc_f_non_bulk + + +-end module xray_non_bulk_impl_cpu_module +\ No newline at end of file ++end module xray_non_bulk_impl_cpu_module