From 509303558880bf9fca64d57d12d5b4fd9ea2e784 Mon Sep 17 00:00:00 2001 From: ebtest Date: Wed, 20 Feb 2019 14:14:08 +0000 Subject: [PATCH 1/9] adding easyconfigs: GlobalArrays-5.7-intel-2018b-ethernet.eb, OpenMolcas-18.09-intel-2018b-ethernet.eb --- .../GlobalArrays-5.7-intel-2018b-ethernet.eb | 33 +++++++++++++ .../OpenMolcas-18.09-intel-2018b-ethernet.eb | 47 +++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b-ethernet.eb create mode 100644 easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b-ethernet.eb diff --git a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b-ethernet.eb b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b-ethernet.eb new file mode 100644 index 000000000000..32de4001b0fa --- /dev/null +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b-ethernet.eb @@ -0,0 +1,33 @@ + +easyblock = 'ConfigureMake' + +name = 'GlobalArrays' +version = '5.7' +versionsuffix = '-ethernet' + +homepage = 'http://hpc.pnl.gov/globalarrays' +description = "Global Arrays (GA) is a Partitioned Global Address Space (PGAS) programming model" + +toolchain = {'name': 'intel', 'version': '2018b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://github.com/GlobalArrays/ga/releases/download/'] +sources = ['v%(version)s/ga-%(version)s.tar.gz'] +checksums = ['3ed1ab47adfda7bceb7beca12fc05a2e1631732f0e55bbaf9036dad4e3da4774'] + + +configopts = ' --with-mpi --enable-i8' +configopts += ' --with-blas8="-L$MKLROOT/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' +configopts += ' --with-scalapack8="-L$MKLROOT/lib/intel64 -lmkl_sequential -lmkl_scalapack_ilp64"' + +#select armci network as Ethernet TCP/IP +configopts += ' --with-sockets' + + +sanity_check_paths = { + 'files': ['bin/adjust.x', 'bin/collisions.x', 'bin/ga-config', 'lib/libarmci.a', 'lib/libga.a'], + 'dirs': ['include'], +} + +moduleclass = 'lib' + diff --git a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b-ethernet.eb b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b-ethernet.eb new file mode 100644 index 000000000000..562173aaccaf --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b-ethernet.eb @@ -0,0 +1,47 @@ + +easyblock = 'CMakeMake' +name = 'OpenMolcas' +version = '18.09' +versionsuffix = '-ethernet' + +homepage = "https://gitlab.com/Molcas/OpenMolcas" +description = "OpenMolcas is a quantum chemistry software package" + +toolchain = {'name': 'intel', 'version': '2018b'} +toolchainopts = {'usempi': True} + +source_urls = ['https://gitlab.com/Molcas/OpenMolcas/-/archive/v%(version)s/'] +sources = ["OpenMolcas-v%(version)s.tar.gz"] + +dependencies = [ + ('GlobalArrays', '5.7', versionsuffix), + ('Python', '3.6.6'), + ('HDF5', '1.10.2'), +] + + +builddependencies = [('CMake', '3.12.1')] + +separate_build_dir = True + +preconfigopts = "GAROOT=$EBROOTGLOBALARRAYS" +configopts = '-DLINALG=MKL -DMKLROOT=$EBROOTIMKL/mkl -DMPI=ON -DGA=ON -DTOOLS=ON' + +modextravars = {'MOLCAS': '%(installdir)s', + 'MOLCAS_DRIVER': '%(installdir)s/sbin/pymolcas', + 'MOLCAS_SOURCE': '%(installdir)s', +} + +sanity_check_paths = { + 'files': ['lib/libmolcas.a','bin/alaska.exe', 'bin/casvb.exe', 'bin/cht3.exe', 'bin/espf.exe', 'bin/gateway.exe', + 'bin/gugaci.exe', 'bin/last_energy.exe', 'bin/mbpt2.exe', 'bin/mcpdft.exe', 'bin/mrci.exe', + 'bin/qmstat.exe', 'bin/rassi.exe', 'bin/seward.exe', 'bin/vibrot.exe', 'bin/averd.exe', 'bin/ccsdt.exe', + 'bin/cpf.exe', 'bin/expbas.exe', 'bin/genano.exe', 'bin/gugadrt.exe', 'bin/localisation.exe', + 'bin/mckinley.exe', 'bin/motra.exe', 'bin/numerical_gradient.exe', 'bin/quater.exe', 'bin/rpa.exe', + 'bin/slapaf.exe', 'bin/caspt2.exe', 'bin/chcc.exe', 'bin/dynamix.exe', 'bin/ffpt.exe', 'bin/guessorb.exe', + 'bin/guga.exe', 'bin/loprop.exe', 'bin/mclr.exe', 'bin/mpprop.exe', 'bin/parnell.exe', 'bin/rasscf.exe', + 'bin/scf.exe', 'bin/surfacehop.exe', 'sbin/pymolcas', 'sbin/help_basis'], + 'dirs': ['data/', 'basis_library/'], +} + +moduleclass = 'chem' From ee872f4b21f1c8467a14841ed2ca046a9798b61a Mon Sep 17 00:00:00 2001 From: ebtest Date: Wed, 20 Feb 2019 14:34:05 +0000 Subject: [PATCH 2/9] add checksums for OpenMolcas source --- .../o/OpenMolcas/OpenMolcas-18.09-intel-2018b-ethernet.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b-ethernet.eb b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b-ethernet.eb index 562173aaccaf..cc779a7a939b 100644 --- a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b-ethernet.eb +++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b-ethernet.eb @@ -12,6 +12,7 @@ toolchainopts = {'usempi': True} source_urls = ['https://gitlab.com/Molcas/OpenMolcas/-/archive/v%(version)s/'] sources = ["OpenMolcas-v%(version)s.tar.gz"] +checksums = ['b4f310fb65205c865ccc6373ce9c3833a586f8ff63a71a624cf793559c9b39cf'] dependencies = [ ('GlobalArrays', '5.7', versionsuffix), From 4bbc3f09544ba0e96f10024a717c6934b507a1f2 Mon Sep 17 00:00:00 2001 From: ebtest Date: Wed, 20 Feb 2019 17:10:46 +0000 Subject: [PATCH 3/9] fix style errors --- .../GlobalArrays-5.7-intel-2018b-ethernet.eb | 7 +++---- .../OpenMolcas-18.09-intel-2018b-ethernet.eb | 19 ++++++++++--------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b-ethernet.eb b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b-ethernet.eb index 32de4001b0fa..5eeb4d3e9c8f 100644 --- a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b-ethernet.eb +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b-ethernet.eb @@ -20,14 +20,13 @@ configopts = ' --with-mpi --enable-i8' configopts += ' --with-blas8="-L$MKLROOT/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' configopts += ' --with-scalapack8="-L$MKLROOT/lib/intel64 -lmkl_sequential -lmkl_scalapack_ilp64"' -#select armci network as Ethernet TCP/IP -configopts += ' --with-sockets' +# select armci network as Ethernet TCP/IP +configopts += ' --with-sockets' -sanity_check_paths = { +sanity_check_paths = { 'files': ['bin/adjust.x', 'bin/collisions.x', 'bin/ga-config', 'lib/libarmci.a', 'lib/libga.a'], 'dirs': ['include'], } moduleclass = 'lib' - diff --git a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b-ethernet.eb b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b-ethernet.eb index cc779a7a939b..3786a853feba 100644 --- a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b-ethernet.eb +++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b-ethernet.eb @@ -14,7 +14,7 @@ source_urls = ['https://gitlab.com/Molcas/OpenMolcas/-/archive/v%(version)s/'] sources = ["OpenMolcas-v%(version)s.tar.gz"] checksums = ['b4f310fb65205c865ccc6373ce9c3833a586f8ff63a71a624cf793559c9b39cf'] -dependencies = [ +dependencies = [ ('GlobalArrays', '5.7', versionsuffix), ('Python', '3.6.6'), ('HDF5', '1.10.2'), @@ -28,19 +28,20 @@ separate_build_dir = True preconfigopts = "GAROOT=$EBROOTGLOBALARRAYS" configopts = '-DLINALG=MKL -DMKLROOT=$EBROOTIMKL/mkl -DMPI=ON -DGA=ON -DTOOLS=ON' -modextravars = {'MOLCAS': '%(installdir)s', - 'MOLCAS_DRIVER': '%(installdir)s/sbin/pymolcas', - 'MOLCAS_SOURCE': '%(installdir)s', +modextravars = { + 'MOLCAS': '%(installdir)s', + 'MOLCAS_DRIVER': '%(installdir)s/sbin/pymolcas', + 'MOLCAS_SOURCE': '%(installdir)s', } sanity_check_paths = { - 'files': ['lib/libmolcas.a','bin/alaska.exe', 'bin/casvb.exe', 'bin/cht3.exe', 'bin/espf.exe', 'bin/gateway.exe', + 'files': ['lib/libmolcas.a', 'bin/alaska.exe', 'bin/casvb.exe', 'bin/cht3.exe', 'bin/espf.exe', 'bin/gateway.exe', 'bin/gugaci.exe', 'bin/last_energy.exe', 'bin/mbpt2.exe', 'bin/mcpdft.exe', 'bin/mrci.exe', - 'bin/qmstat.exe', 'bin/rassi.exe', 'bin/seward.exe', 'bin/vibrot.exe', 'bin/averd.exe', 'bin/ccsdt.exe', - 'bin/cpf.exe', 'bin/expbas.exe', 'bin/genano.exe', 'bin/gugadrt.exe', 'bin/localisation.exe', + 'bin/qmstat.exe', 'bin/rassi.exe', 'bin/seward.exe', 'bin/vibrot.exe', 'bin/averd.exe', 'bin/ccsdt.exe', + 'bin/cpf.exe', 'bin/expbas.exe', 'bin/genano.exe', 'bin/gugadrt.exe', 'bin/localisation.exe', 'bin/mckinley.exe', 'bin/motra.exe', 'bin/numerical_gradient.exe', 'bin/quater.exe', 'bin/rpa.exe', - 'bin/slapaf.exe', 'bin/caspt2.exe', 'bin/chcc.exe', 'bin/dynamix.exe', 'bin/ffpt.exe', 'bin/guessorb.exe', - 'bin/guga.exe', 'bin/loprop.exe', 'bin/mclr.exe', 'bin/mpprop.exe', 'bin/parnell.exe', 'bin/rasscf.exe', + 'bin/slapaf.exe', 'bin/caspt2.exe', 'bin/chcc.exe', 'bin/dynamix.exe', 'bin/ffpt.exe', 'bin/guessorb.exe', + 'bin/guga.exe', 'bin/loprop.exe', 'bin/mclr.exe', 'bin/mpprop.exe', 'bin/parnell.exe', 'bin/rasscf.exe', 'bin/scf.exe', 'bin/surfacehop.exe', 'sbin/pymolcas', 'sbin/help_basis'], 'dirs': ['data/', 'basis_library/'], } From 05a6d0d904381512834334f35a9f1465cfa988d3 Mon Sep 17 00:00:00 2001 From: ebtest Date: Mon, 25 Feb 2019 13:46:14 +0000 Subject: [PATCH 4/9] add flag to build comex library for GA --- ...18b-ethernet.eb => GlobalArrays-5.7-intel-2018b.eb} | 9 +++------ ...18b-ethernet.eb => OpenMolcas-18.09-intel-2018b.eb} | 10 ++++------ 2 files changed, 7 insertions(+), 12 deletions(-) rename easybuild/easyconfigs/g/GlobalArrays/{GlobalArrays-5.7-intel-2018b-ethernet.eb => GlobalArrays-5.7-intel-2018b.eb} (85%) rename easybuild/easyconfigs/o/OpenMolcas/{OpenMolcas-18.09-intel-2018b-ethernet.eb => OpenMolcas-18.09-intel-2018b.eb} (86%) diff --git a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b-ethernet.eb b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b.eb similarity index 85% rename from easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b-ethernet.eb rename to easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b.eb index 5eeb4d3e9c8f..8c2bc3aa3168 100644 --- a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b-ethernet.eb +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b.eb @@ -3,7 +3,6 @@ easyblock = 'ConfigureMake' name = 'GlobalArrays' version = '5.7' -versionsuffix = '-ethernet' homepage = 'http://hpc.pnl.gov/globalarrays' description = "Global Arrays (GA) is a Partitioned Global Address Space (PGAS) programming model" @@ -15,17 +14,15 @@ source_urls = ['https://github.com/GlobalArrays/ga/releases/download/'] sources = ['v%(version)s/ga-%(version)s.tar.gz'] checksums = ['3ed1ab47adfda7bceb7beca12fc05a2e1631732f0e55bbaf9036dad4e3da4774'] - configopts = ' --with-mpi --enable-i8' configopts += ' --with-blas8="-L$MKLROOT/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' configopts += ' --with-scalapack8="-L$MKLROOT/lib/intel64 -lmkl_sequential -lmkl_scalapack_ilp64"' -# select armci network as Ethernet TCP/IP -configopts += ' --with-sockets' - +# select armci network as (Comex) MPI-1 two-sided +configopts += ' --with-mpi-ts' sanity_check_paths = { - 'files': ['bin/adjust.x', 'bin/collisions.x', 'bin/ga-config', 'lib/libarmci.a', 'lib/libga.a'], + 'files': ['bin/adjust.x', 'bin/collisions.x', 'bin/ga-config', 'lib/libarmci.a', 'lib/libcomex.a', 'lib/libga.a'], 'dirs': ['include'], } diff --git a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b-ethernet.eb b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b.eb similarity index 86% rename from easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b-ethernet.eb rename to easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b.eb index 3786a853feba..422c4da5c4f4 100644 --- a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b-ethernet.eb +++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b.eb @@ -2,7 +2,6 @@ easyblock = 'CMakeMake' name = 'OpenMolcas' version = '18.09' -versionsuffix = '-ethernet' homepage = "https://gitlab.com/Molcas/OpenMolcas" description = "OpenMolcas is a quantum chemistry software package" @@ -15,18 +14,17 @@ sources = ["OpenMolcas-v%(version)s.tar.gz"] checksums = ['b4f310fb65205c865ccc6373ce9c3833a586f8ff63a71a624cf793559c9b39cf'] dependencies = [ - ('GlobalArrays', '5.7', versionsuffix), + ('GlobalArrays', '5.7'), ('Python', '3.6.6'), ('HDF5', '1.10.2'), ] - builddependencies = [('CMake', '3.12.1')] separate_build_dir = True -preconfigopts = "GAROOT=$EBROOTGLOBALARRAYS" -configopts = '-DLINALG=MKL -DMKLROOT=$EBROOTIMKL/mkl -DMPI=ON -DGA=ON -DTOOLS=ON' +preconfigopts = 'GAROOT=$EBROOTGLOBALARRAYS' +configopts = '-DLINALG=MKL -DMKLROOT=$EBROOTIMKL/mkl -DMPI=ON -DGA=ON -DBUILD_SHARED_LIBS=ON -DTOOLS=ON -DFDE=ON' modextravars = { 'MOLCAS': '%(installdir)s', @@ -35,7 +33,7 @@ modextravars = { } sanity_check_paths = { - 'files': ['lib/libmolcas.a', 'bin/alaska.exe', 'bin/casvb.exe', 'bin/cht3.exe', 'bin/espf.exe', 'bin/gateway.exe', + 'files': ['lib/libmolcas.so', 'bin/alaska.exe', 'bin/casvb.exe', 'bin/cht3.exe', 'bin/espf.exe', 'bin/gateway.exe', 'bin/gugaci.exe', 'bin/last_energy.exe', 'bin/mbpt2.exe', 'bin/mcpdft.exe', 'bin/mrci.exe', 'bin/qmstat.exe', 'bin/rassi.exe', 'bin/seward.exe', 'bin/vibrot.exe', 'bin/averd.exe', 'bin/ccsdt.exe', 'bin/cpf.exe', 'bin/expbas.exe', 'bin/genano.exe', 'bin/gugadrt.exe', 'bin/localisation.exe', From b4cc6f6cdff41302e77a6acdfd05d5d07d6b8576 Mon Sep 17 00:00:00 2001 From: ebtest Date: Tue, 12 Mar 2019 11:51:59 +0000 Subject: [PATCH 5/9] add patches for GA issues fixed upstream and cleanup OpenMolcas eb --- .../GlobalArrays-5.7-intel-2018b.eb | 19 ++- ...balArrays-v5.7-intel-2018b-MKL_issue.patch | 42 +++++ .../GlobalArrays-v5.7_ga_diag_std.patch | 144 ++++++++++++++++++ .../OpenMolcas-18.09-intel-2018b.eb | 14 +- ...OpenMolcas-pymolcas_only_in_ebprefix.patch | 22 +++ 5 files changed, 235 insertions(+), 6 deletions(-) create mode 100644 easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-v5.7-intel-2018b-MKL_issue.patch create mode 100644 easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-v5.7_ga_diag_std.patch create mode 100644 easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-pymolcas_only_in_ebprefix.patch diff --git a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b.eb b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b.eb index 8c2bc3aa3168..b922407f7629 100644 --- a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b.eb +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b.eb @@ -1,6 +1,6 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild easyblock = 'ConfigureMake' - name = 'GlobalArrays' version = '5.7' @@ -12,11 +12,22 @@ toolchainopts = {'usempi': True} source_urls = ['https://github.com/GlobalArrays/ga/releases/download/'] sources = ['v%(version)s/ga-%(version)s.tar.gz'] -checksums = ['3ed1ab47adfda7bceb7beca12fc05a2e1631732f0e55bbaf9036dad4e3da4774'] + +# patch for bugs on v5.7 causing errors on NWChem +patches = [ + 'GlobalArrays-v5.7_ga_diag_std.patch', # fix bug ga_diag_std https://github.com/GlobalArrays/ga/pull/101 + 'GlobalArrays-v5.7-intel-2018b-MKL_issue.patch', # fix MKL issue https://github.com/GlobalArrays/ga/pull/122 +] + +checksums = [ + '3ed1ab47adfda7bceb7beca12fc05a2e1631732f0e55bbaf9036dad4e3da4774', + 'b8b8c5d357bce34a37cdf640e88a3ecb72d7de3255cc3ec086a9c3949c2c2d33', # GlobalArrays-v5.7_ga_diag_std.patch + '0c25322731b5964d00c6fc18673881a755faa190f446a592dc3d49caf806a973', # GlobalArrays-v5.7-intel-2018b-MKL_issue.patch +] configopts = ' --with-mpi --enable-i8' -configopts += ' --with-blas8="-L$MKLROOT/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' -configopts += ' --with-scalapack8="-L$MKLROOT/lib/intel64 -lmkl_sequential -lmkl_scalapack_ilp64"' +configopts += ' --with-blas8="-L$EBROOTIMKL/mkl/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' +configopts += ' --with-scalapack8="-L$EBROOTIMKL/mkl/lib/intel64 -lmkl_sequential -lmkl_scalapack_ilp64"' # select armci network as (Comex) MPI-1 two-sided configopts += ' --with-mpi-ts' diff --git a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-v5.7-intel-2018b-MKL_issue.patch b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-v5.7-intel-2018b-MKL_issue.patch new file mode 100644 index 000000000000..1fa0a7e9d5a6 --- /dev/null +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-v5.7-intel-2018b-MKL_issue.patch @@ -0,0 +1,42 @@ +diff --git a/global/src/scalapack.F b/global/src/scalapack.F +index 74ef1a9..cd80884 100644 +--- a/global/src/scalapack.F ++++ b/global/src/scalapack.F +@@ -3030,6 +3030,7 @@ c + integer alen, blen + integer block_dims_A(2),block_dims_B(2),blocks(2) + integer gridA(2), gridB(2) ++ double precision mywork + logical use_direct + + external pdlamch,iceil,indxg2p +@@ -3201,20 +3202,16 @@ c + c + c + liwork4=liwork +-#if 0 + lcwork4=-1 +- call pdsyevd(jobz, uplo, +- 1 n, dbl_mb(adrA), one4, one4, descA, +- 1 eval, dbl_mb(adrB), one4, one4, +- 2 descB, dbl_mb(adrcwork), lcwork4, +- 2 dum, liwork4, info) +- lcwork=dum +-#else +- +- lcwork = MAX( 1+6*N+2*NP*NQ, +- = 3*N + MAX( NB*( NP+1 ), 3*NB ))+ 2*N +- lcwork=max(lcwork,16384) +-#endif ++ call pdsyevd(jobz, uplo, ++ 1 n, dbl_mb(adrA), one4, one4, descA, ++ 1 eval, dbl_mb(adrB), one4, one4, ++ 2 descB, mywork, lcwork4, ++ 2 int_mb(adriwork), liwork4, info) ++ lcwork = MAX( 1+6*N+2*NP*NQ, ++ = 3*N + MAX( NB*( NP+1 ), 3*NB ))+ 2*N ++ lcwork=max(lcwork,16384) ++ lcwork=max(int(mywork),lcwork) + + c + if(lcwork.ne.0) diff --git a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-v5.7_ga_diag_std.patch b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-v5.7_ga_diag_std.patch new file mode 100644 index 000000000000..ee80d5a56e29 --- /dev/null +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-v5.7_ga_diag_std.patch @@ -0,0 +1,144 @@ +diff --git a/global/src/ga_diag_seq.F b/global/src/ga_diag_seq.F +index ee601729..d5653975 100644 +--- a/global/src/ga_diag_seq.F ++++ b/global/src/ga_diag_seq.F +@@ -1,6 +1,11 @@ + #if HAVE_CONFIG_H + # include "config.fh" + #endif ++#if (BLAS_SIZE ==4) ++#define INTGR4 integer*4 ++#else ++#define INTGR4 integer*8 ++#endif + c + c This file has been converted to use LAPACK circa 2011 + c instead of EISPACK circa 1983 by Jeff Hammond circa 2014. +@@ -15,7 +20,7 @@ c + integer g_v ! Global matrix to return evecs + double precision evals(*) ! Local array to return evals + c +- integer n, ierr ++ integer n + #if ENABLE_EISPACK + integer l_fv1, l_fv2, l_v + MA_ACCESS_INDEX_TYPE k_fv1, k_fv2, k_v +@@ -27,6 +32,7 @@ c + integer l_a, l_s + MA_ACCESS_INDEX_TYPE k_a, k_s + integer dim1, dim2, type, me ++ INTGR4 n4,ierr + logical status + c + c +@@ -47,6 +53,7 @@ c + $ call ga_error('ga_diag_seq: nonsquare matrix ',0) + + n = dim1 ++ n4 = n + me = ga_nodeid() + if (me .eq. 0) then + c +@@ -87,7 +94,7 @@ c + call rsg(n, n, dbl_mb(k_a), dbl_mb(k_s), evals, 1, + $ dbl_mb(k_v), dbl_mb(k_fv1), dbl_mb(k_fv2), ierr) + #else +- call dsygv(1,'V','U',n,dbl_mb(k_a),n,dbl_mb(k_s),n, ++ call dsygv(1,'V','U',n4,dbl_mb(k_a),n,dbl_mb(k_s),n4, + $ evals,dbl_mb(k_wrk),n2, ierr) + if (ierr.ne.0) + $ call ga_error('ga_diag_seq: dsygv failed',ierr) +@@ -139,7 +146,7 @@ c + integer g_v ! Global matrix to return evecs + double precision evals(*) ! Local array to return evals + c +- integer n, ierr ++ integer n + #if ENABLE_EISPACK + integer l_fv1, l_fv2, l_v + MA_ACCESS_INDEX_TYPE k_fv1, k_fv2, k_v +@@ -151,6 +158,7 @@ c + integer l_a + MA_ACCESS_INDEX_TYPE k_a + integer dim1, dim2, type, me ++ INTGR4 n4,n2_i4,ierr + logical status + c + c +@@ -170,6 +178,7 @@ c + $ call ga_error('ga_diag_std_seq: nonsquare matrix ',0) + + n = dim1 ++ n4 = n + me = ga_nodeid() + if (me .eq. 0) then + c +@@ -187,6 +196,7 @@ c + #else + c LAPACK fails for n=1 without this + n2 = max(n*n,3*n-1) ++ n2_i4=n2 + status=status.and.ma_push_get(MT_DBL, n2, + $ 'diag_std_seq:wrk', l_wrk, k_wrk) + #endif +@@ -205,8 +215,8 @@ c + call rs(n, n, dbl_mb(k_a), evals, 1, + $ dbl_mb(k_v), dbl_mb(k_fv1), dbl_mb(k_fv2), ierr) + #else +- call dsyev('V', 'L', n, dbl_mb(k_a), n, +- $ evals, dbl_mb(k_wrk), n2, ierr) ++ call dsyev('V', 'L', n4, dbl_mb(k_a), n4, ++ $ evals, dbl_mb(k_wrk), n2_i4, ierr) + if (ierr.ne.0) + $ call ga_error('ga_diag_std_seq: dsyev failed',ierr) + c We used to copy to preserve code symmetry with EISPACK +diff --git a/m4/ga_f2c_string.m4 b/m4/ga_f2c_string.m4 +index 51914c37..addde81f 100644 +--- a/m4/ga_f2c_string.m4 ++++ b/m4/ga_f2c_string.m4 +@@ -13,9 +13,9 @@ AC_COMPILE_IFELSE( + first_name = "John" + last_name = "Doe" + call csub(first_name, last_name) +- end]], [ ++ end]], [mv conftest.$ac_objext cfortran_test.$ac_objext + ga_save_LIBS=$LIBS +- LIBS="conftest.$ac_objext $LIBS $[]_AC_LANG_PREFIX[]LIBS" ++ LIBS="cfortran_test.$ac_objext $LIBS $[]_AC_LANG_PREFIX[]LIBS" + AC_LANG_PUSH([C]) + AC_RUN_IFELSE([AC_LANG_SOURCE( + [[#include +@@ -62,7 +62,7 @@ int main(int argc, char **argv) + LIBS=$ga_save_LIBS], + [m4_default([$3], :)]) + AC_LANG_POP([Fortran 77]) +-rm -rf conftest* ++rm -rf conftest* cfortran_test.$ac_objext + ])dnl + + +diff --git a/m4/ga_f77_check_sizeof.m4 b/m4/ga_f77_check_sizeof.m4 +index 6a773d12..3ee3897f 100644 +--- a/m4/ga_f77_check_sizeof.m4 ++++ b/m4/ga_f77_check_sizeof.m4 +@@ -10,9 +10,9 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE( + external size + $1 x(2) + call size(x(1),x(2)) +- end]])], [ ++ end]])], [mv conftest.$ac_objext cfortran_test.$ac_objext + ga_save_LIBS=$LIBS +- LIBS="conftest.$ac_objext $LIBS $[]_AC_LANG_PREFIX[]LIBS" ++ LIBS="cfortran_test.$ac_objext $LIBS $[]_AC_LANG_PREFIX[]LIBS" + AC_LANG_PUSH([C]) + AC_RUN_IFELSE([AC_LANG_SOURCE( + [[#include +@@ -44,7 +44,7 @@ int main(int argc, char **argv) + } + ]])], [AS_TR_SH([$2])=`cat conftestval`]) + LIBS=$ga_save_LIBS +- rm -f conftest* ++ rm -f conftest* cfortran_test* + AC_LANG_POP([C])]) + AC_LANG_POP([Fortran 77]) + ]) # GA_F77_COMPUTE_SIZEOF diff --git a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b.eb b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b.eb index 422c4da5c4f4..9c84ecc07e9a 100644 --- a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b.eb +++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b.eb @@ -1,3 +1,4 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild easyblock = 'CMakeMake' name = 'OpenMolcas' @@ -11,12 +12,21 @@ toolchainopts = {'usempi': True} source_urls = ['https://gitlab.com/Molcas/OpenMolcas/-/archive/v%(version)s/'] sources = ["OpenMolcas-v%(version)s.tar.gz"] -checksums = ['b4f310fb65205c865ccc6373ce9c3833a586f8ff63a71a624cf793559c9b39cf'] + +# This patch avoids the automatic extra copy of 'pymolcas' script +# in the first writable directory of the install user's $PATH +# The 'make install' process is going to install it in +# %(installdir)s/sbin/ which is the only place it should stay +patches = ["OpenMolcas-pymolcas_only_in_ebprefix.patch"] + +checksums = ['b4f310fb65205c865ccc6373ce9c3833a586f8ff63a71a624cf793559c9b39cf', + '130a40028ad1c231d69f109151029032cac26f2c0c6e636266faa5a69027cd1b'] + dependencies = [ ('GlobalArrays', '5.7'), - ('Python', '3.6.6'), ('HDF5', '1.10.2'), + ('Python', '3.6.6'), ] builddependencies = [('CMake', '3.12.1')] diff --git a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-pymolcas_only_in_ebprefix.patch b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-pymolcas_only_in_ebprefix.patch new file mode 100644 index 000000000000..19af4702e92c --- /dev/null +++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-pymolcas_only_in_ebprefix.patch @@ -0,0 +1,22 @@ +--- a/sbin/install_pymolcas.sh 2018-09-02 09:35:13.000000000 +0200 ++++ b/sbin/install_pymolcas.sh 2019-03-11 16:53:29.224546598 +0100 +@@ -116,8 +116,8 @@ + echo "Is this OK? [Y/n] (will assume \"Yes\" in 25 seconds)" + while true ; do + if [ "$INTERACTIVE" = "0" ] ; then +- echo "Running in non-interactive mode, assuming \"Yes\"" +- answer="Yes" ++ echo "Running in non-interactive mode, assuming \"No\"" ++ answer="No" + else + read_timeout answer + fi +@@ -143,7 +143,7 @@ + echo "" + echo "*** You have to put pymolcas in any directory in your PATH" + if [ "$INTERACTIVE" = "0" ] ; then +- exit 3 ++ exit 0 + fi + break ;; + * ) echo "Please answer yes or no" From b03cd59e6e8ac05e53a43e7c88c759695f55485d Mon Sep 17 00:00:00 2001 From: ebtest Date: Tue, 12 Mar 2019 12:17:02 +0000 Subject: [PATCH 6/9] add python version suffix for OpenMolcas --- ...18b.eb => OpenMolcas-18.09-intel-2018b-Python-3.6.6.eb} | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) rename easybuild/easyconfigs/o/OpenMolcas/{OpenMolcas-18.09-intel-2018b.eb => OpenMolcas-18.09-intel-2018b-Python-3.6.6.eb} (92%) diff --git a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b.eb b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b-Python-3.6.6.eb similarity index 92% rename from easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b.eb rename to easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b-Python-3.6.6.eb index 9c84ecc07e9a..80340d09cc06 100644 --- a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b.eb +++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b-Python-3.6.6.eb @@ -1,8 +1,9 @@ -# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild easyblock = 'CMakeMake' name = 'OpenMolcas' version = '18.09' +versionsuffix = '-Python-%(pyver)s' homepage = "https://gitlab.com/Molcas/OpenMolcas" description = "OpenMolcas is a quantum chemistry software package" @@ -15,8 +16,8 @@ sources = ["OpenMolcas-v%(version)s.tar.gz"] # This patch avoids the automatic extra copy of 'pymolcas' script # in the first writable directory of the install user's $PATH -# The 'make install' process is going to install it in -# %(installdir)s/sbin/ which is the only place it should stay +# The 'make install' process is going to install it in +# %(installdir)s/sbin/ which is the only place it should stay patches = ["OpenMolcas-pymolcas_only_in_ebprefix.patch"] checksums = ['b4f310fb65205c865ccc6373ce9c3833a586f8ff63a71a624cf793559c9b39cf', From 3d6a764dbbbdc1610640dd63da488343a93c6133 Mon Sep 17 00:00:00 2001 From: ebtest Date: Wed, 13 Mar 2019 12:22:00 +0000 Subject: [PATCH 7/9] add info on patch files --- .../g/GlobalArrays/GlobalArrays-5.7-intel-2018b.eb | 6 +++--- .../GlobalArrays-v5.7-intel-2018b-MKL_issue.patch | 2 ++ .../GlobalArrays/GlobalArrays-v5.7_ga_diag_std.patch | 2 ++ .../OpenMolcas-18.09-intel-2018b-Python-3.6.6.eb | 11 +++++------ .../OpenMolcas-pymolcas_only_in_ebprefix.patch | 4 ++++ 5 files changed, 16 insertions(+), 9 deletions(-) diff --git a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b.eb b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b.eb index b922407f7629..a2242363a05d 100644 --- a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b.eb +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b.eb @@ -1,4 +1,4 @@ -# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild easyblock = 'ConfigureMake' name = 'GlobalArrays' @@ -21,8 +21,8 @@ patches = [ checksums = [ '3ed1ab47adfda7bceb7beca12fc05a2e1631732f0e55bbaf9036dad4e3da4774', - 'b8b8c5d357bce34a37cdf640e88a3ecb72d7de3255cc3ec086a9c3949c2c2d33', # GlobalArrays-v5.7_ga_diag_std.patch - '0c25322731b5964d00c6fc18673881a755faa190f446a592dc3d49caf806a973', # GlobalArrays-v5.7-intel-2018b-MKL_issue.patch + '8049543e6442e13acb54cb4afd9a6ad78102864b2ef138ad9f4b1a45bd0666bb', # GlobalArrays-v5.7_ga_diag_std.patch + 'e5b9fff47d471b3552b167b82153f8f1fd6406c52e39a11b693cb9c4bf12645e', # GlobalArrays-v5.7-intel-2018b-MKL_issue.patch ] configopts = ' --with-mpi --enable-i8' diff --git a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-v5.7-intel-2018b-MKL_issue.patch b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-v5.7-intel-2018b-MKL_issue.patch index 1fa0a7e9d5a6..dafbf9ce45cb 100644 --- a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-v5.7-intel-2018b-MKL_issue.patch +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-v5.7-intel-2018b-MKL_issue.patch @@ -1,3 +1,5 @@ +# fix for MKL error "PDSTEDC parameter number 10 had an illegal value" +# (github.com/GlobalArrays/ga/pull/122) diff --git a/global/src/scalapack.F b/global/src/scalapack.F index 74ef1a9..cd80884 100644 --- a/global/src/scalapack.F diff --git a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-v5.7_ga_diag_std.patch b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-v5.7_ga_diag_std.patch index ee80d5a56e29..8f2f94c9213e 100644 --- a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-v5.7_ga_diag_std.patch +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-v5.7_ga_diag_std.patch @@ -1,3 +1,5 @@ +# fixes for ga_diag_std_seq 32-bit integer interface and for pgcc +# object handling (github.com/GlobalArrays/ga/pull/101) diff --git a/global/src/ga_diag_seq.F b/global/src/ga_diag_seq.F index ee601729..d5653975 100644 --- a/global/src/ga_diag_seq.F diff --git a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b-Python-3.6.6.eb index 80340d09cc06..1caa3b3b0705 100644 --- a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b-Python-3.6.6.eb +++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-18.09-intel-2018b-Python-3.6.6.eb @@ -14,15 +14,14 @@ toolchainopts = {'usempi': True} source_urls = ['https://gitlab.com/Molcas/OpenMolcas/-/archive/v%(version)s/'] sources = ["OpenMolcas-v%(version)s.tar.gz"] -# This patch avoids the automatic extra copy of 'pymolcas' script -# in the first writable directory of the install user's $PATH -# The 'make install' process is going to install it in -# %(installdir)s/sbin/ which is the only place it should stay +# This patch avoids a forced extra copy of 'pymolcas' script +# in a local folder of the user doing the build +# The 'make install' process will already install it in +# %(installdir)s/sbin/ patches = ["OpenMolcas-pymolcas_only_in_ebprefix.patch"] checksums = ['b4f310fb65205c865ccc6373ce9c3833a586f8ff63a71a624cf793559c9b39cf', - '130a40028ad1c231d69f109151029032cac26f2c0c6e636266faa5a69027cd1b'] - + '56165ab4a752ef7cdbe3340c8c922fca04510e8ee2e4024ea654e6bcd83198f8'] dependencies = [ ('GlobalArrays', '5.7'), diff --git a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-pymolcas_only_in_ebprefix.patch b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-pymolcas_only_in_ebprefix.patch index 19af4702e92c..5d22621805cf 100644 --- a/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-pymolcas_only_in_ebprefix.patch +++ b/easybuild/easyconfigs/o/OpenMolcas/OpenMolcas-pymolcas_only_in_ebprefix.patch @@ -1,3 +1,7 @@ +# Avoid a forced copy of the 'pymolcas' script in a local path +# of the user doing the build +# 'make install' will install it using the proper prefix +# by A. Lozano (ULiege) --- a/sbin/install_pymolcas.sh 2018-09-02 09:35:13.000000000 +0200 +++ b/sbin/install_pymolcas.sh 2019-03-11 16:53:29.224546598 +0100 @@ -116,8 +116,8 @@ From ba25d54dd94de4d73a25df5fa89c593439e4d51d Mon Sep 17 00:00:00 2001 From: ebtest Date: Fri, 19 Jul 2019 12:18:57 +0000 Subject: [PATCH 8/9] add NWChem required flags for GA --- .../easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b.eb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b.eb b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b.eb index a2242363a05d..01f2a58f60ea 100644 --- a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b.eb +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b.eb @@ -29,6 +29,9 @@ configopts = ' --with-mpi --enable-i8' configopts += ' --with-blas8="-L$EBROOTIMKL/mkl/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' configopts += ' --with-scalapack8="-L$EBROOTIMKL/mkl/lib/intel64 -lmkl_sequential -lmkl_scalapack_ilp64"' +# Required by NWChem: +configopts += ' --enable-peigs --enable-underscoring' + # select armci network as (Comex) MPI-1 two-sided configopts += ' --with-mpi-ts' From a2e43a2b12098cc0b2111b50ec138380ca8504c6 Mon Sep 17 00:00:00 2001 From: ebtest Date: Mon, 22 Jul 2019 15:34:20 +0000 Subject: [PATCH 9/9] revert NWChem flags --- .../easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b.eb | 3 --- 1 file changed, 3 deletions(-) diff --git a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b.eb b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b.eb index 01f2a58f60ea..a2242363a05d 100644 --- a/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b.eb +++ b/easybuild/easyconfigs/g/GlobalArrays/GlobalArrays-5.7-intel-2018b.eb @@ -29,9 +29,6 @@ configopts = ' --with-mpi --enable-i8' configopts += ' --with-blas8="-L$EBROOTIMKL/mkl/lib/intel64 -lmkl_sequential -lmkl_intel_ilp64"' configopts += ' --with-scalapack8="-L$EBROOTIMKL/mkl/lib/intel64 -lmkl_sequential -lmkl_scalapack_ilp64"' -# Required by NWChem: -configopts += ' --enable-peigs --enable-underscoring' - # select armci network as (Comex) MPI-1 two-sided configopts += ' --with-mpi-ts'