Merge branch 'it4i-karolina'

This commit is contained in:
Jakub Kropacek 2022-05-12 13:17:26 +02:00 committed by anselmicz
commit c3fe962cb3
3 changed files with 14 additions and 83 deletions

View File

@ -44,6 +44,7 @@ configopts += ' -DCMAKE_INSTALL_PREFIX=%(installdir)s'
configopts += ' -DINSTALL_NEXUS=ON ' configopts += ' -DINSTALL_NEXUS=ON '
configopts += ' -DBUILD_UNIT_TESTS=ON -DBUILD_MICRO_BENCHMARKS=ON ' configopts += ' -DBUILD_UNIT_TESTS=ON -DBUILD_MICRO_BENCHMARKS=ON '
configopts += ' -DBUILD_AFQMC=ON ' # FCIQMC fails configopts += ' -DBUILD_AFQMC=ON ' # FCIQMC fails
#configopts += '-DQMC_COMPLEX=1'
preinstallopts = [ preinstallopts = [
# ' ctest -j128 -V short -LE unstable || true && ' # run CMake tests in parallel # ' ctest -j128 -V short -LE unstable || true && ' # run CMake tests in parallel

View File

@ -1,70 +0,0 @@
# IT4Innovations 2022
# JK
easyblock = 'CMakeMake'
name = 'QMCPACK'
version = '3.14.0'
versionsuffix = "-Python-%(pyver)s-test"
homepage = "https://qmcpack.org/"
description = """QMCPACK, is a modern high-performance open-source Quantum Monte Carlo (QMC) simulation code. Its main applications are electronic structure calculations of molecular, quasi-2D and solid-state systems. Variational Monte Carlo (VMC), diffusion Monte Carlo (DMC) and a number of other advanced QMC algorithms are implemented. Orbital space auxiliary field QMC (AFQMC) has recently been added. By directly solving the Schrodinger equation, QMC methods offer greater accuracy than methods such as density functional theory, but at a trade-off of much greater local_computational expense.
"""
toolchain = {'name': 'intel', 'version': '2020b'}
#import os
#if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
# toolchainopts = {'opt': True, 'pic': True, 'usempi': True, 'optarch': 'march=core-avx2'}
# prebuildopts = "echo %(builddir)s && while read i; do echo $i; sed 's|-xHost|-march=core-avx2|g' -i $i; done < <(grep xHost %(builddir)s -R | cut -d ':' -f 1 | sort -u) &&"
#else:
# toolchainopts = {'opt': True, 'pic': True, 'usempi': True}
toolchainopts = {'opt': True, 'usempi': True}
source_urls = ['https://github.com/QMCPACK/qmcpack/archive/']
sources = ['v%(version)s.tar.gz']
builddependencies = [('CMake', '3.20.1')]
# delete GCC from the module file - hack for compilation with intel toolchain
dependencies = [
('libxml2', '2.9.10'),
('Boost', '1.74.0'),
('HDF5', '1.10.7', '', ('iimpi', '2020b')),
('Python', '3.8.6'),
('h5py', '3.1.0'),
('SciPy-bundle', '2020.11'),
('FFTW', '3.3.8'),
# ('PySCF', '2.0.1'), # does not work with intel toolchain
('GCC', '8.3.0-2.32', '', True), # downgrade from 9.3.0 to compile 3.14.0
]
separate_build_dir = True
configopts = ' -DENABLE_SOA=1 '
configopts += ' -DCMAKE_C_COMPILER=mpiicc -DCMAKE_CXX_COMPILER=mpiicpc '
configopts += ' -DHDF5_PREFER_PARALLEL=1 -DENABLE_PHDF5=1 '
configopts += ' -DQMC_SYMLINK_TEST_FILES=0 '
configopts += ' -DCMAKE_BUILD_TYPE=Release '
configopts += ' -DQMC_OMP=ON '
configopts += ' -DCMAKE_INSTALL_PREFIX=%(installdir)s'
configopts += ' -DINSTALL_NEXUS=ON '
configopts += ' -DBUILD_UNIT_TESTS=ON -DBUILD_MICRO_BENCHMARKS=ON '
configopts += ' -DBUILD_AFQMC=ON ' # FCIQMC fails
#configopts += '-DQMC_COMPLEX=1'
preinstallopts = [
# ' ctest -j128 -V -R short -LE unstable && ' # run CMake tests in parallel
' mkdir -p %(installdir)s/nexus && ',
' mkdir -p %(installdir)s/QMCTools && ',
' cp -r %(builddir)s/qmcpack-%(version)s/nexus %(installdir)s/ && ',
' cp %(builddir)s/qmcpack-%(version)s/src/QMCTools/*.py %(installdir)s/QMCTools/ && ',
]
modextrapaths = {'PYTHONPATH': ['nexus/lib', 'QMCTools']}
sanity_check_paths = {
'files': ['bin/qmcpack'],
'dirs': ['bin'],
}
moduleclass = 'phys'

View File

@ -12,19 +12,20 @@ description = """QMCPACK, is a modern high-performance open-source Quantum Monte
""" """
toolchain = {'name': 'intel', 'version': '2020b'} toolchain = {'name': 'intel', 'version': '2020b'}
import os #import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: #if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
toolchainopts = {'opt': True, 'pic': True, 'usempi': True, 'optarch': 'march=core-avx2'} # toolchainopts = {'opt': True, 'pic': True, 'usempi': True, 'optarch': 'march=core-avx2'}
prebuildopts = "echo %(builddir)s && while read i; do echo $i; sed 's|-xHost|-march=core-avx2|g' -i $i; done < <(grep xHost %(builddir)s -R | cut -d ':' -f 1 | sort -u) &&" # prebuildopts = "echo %(builddir)s && while read i; do echo $i; sed 's|-xHost|-march=core-avx2|g' -i $i; done < <(grep xHost %(builddir)s -R | cut -d ':' -f 1 | sort -u) &&"
else: #else:
toolchainopts = {'opt': True, 'pic': True, 'usempi': True} # toolchainopts = {'opt': True, 'pic': True, 'usempi': True}
toolchainopts = {'opt': True, 'usempi': True}
source_urls = ['https://github.com/QMCPACK/qmcpack/archive/'] source_urls = ['https://github.com/QMCPACK/qmcpack/archive/']
sources = ['v%(version)s.tar.gz'] sources = ['v%(version)s.tar.gz']
builddependencies = [('CMake', '3.20.1', '', True)] builddependencies = [('CMake', '3.20.1')]
# odstran z module file GCC 8.3.0 - rovnak na intel # delete GCC from the module file - hack for compilation with intel toolchain
dependencies = [ dependencies = [
('libxml2', '2.9.10'), ('libxml2', '2.9.10'),
('Boost', '1.74.0'), ('Boost', '1.74.0'),
@ -33,8 +34,8 @@ dependencies = [
('h5py', '3.1.0'), ('h5py', '3.1.0'),
('SciPy-bundle', '2020.11'), ('SciPy-bundle', '2020.11'),
('FFTW', '3.3.8'), ('FFTW', '3.3.8'),
# ('PySCF', '2.0.1'), # does not work with intel toolchain # ('PySCF', '2.0.1'), # does not work with intel toolchain
('GCC', '8.3.0-2.32', '', True), ('GCC', '8.3.0-2.32', '', True), # downgrade from 9.3.0 to compile 3.14.0
] ]
separate_build_dir = True separate_build_dir = True
@ -49,11 +50,10 @@ configopts += ' -DCMAKE_INSTALL_PREFIX=%(installdir)s'
configopts += ' -DINSTALL_NEXUS=ON ' configopts += ' -DINSTALL_NEXUS=ON '
configopts += ' -DBUILD_UNIT_TESTS=ON -DBUILD_MICRO_BENCHMARKS=ON ' configopts += ' -DBUILD_UNIT_TESTS=ON -DBUILD_MICRO_BENCHMARKS=ON '
configopts += ' -DBUILD_AFQMC=ON ' # FCIQMC fails configopts += ' -DBUILD_AFQMC=ON ' # FCIQMC fails
#configopts += '-DQMC_COMPLEX=1'
# prekopiruje nexus knihovny o kterych install file tvrdi, ze nejsou potreba
# ale evidentne to bez nich nejede
preinstallopts = [ preinstallopts = [
# ' ctest -j128 -V -R short -LE unstable && ' # run CMake tests in parallel
' mkdir -p %(installdir)s/nexus && ', ' mkdir -p %(installdir)s/nexus && ',
' mkdir -p %(installdir)s/QMCTools && ', ' mkdir -p %(installdir)s/QMCTools && ',
' cp -r %(builddir)s/qmcpack-%(version)s/nexus %(installdir)s/ && ', ' cp -r %(builddir)s/qmcpack-%(version)s/nexus %(installdir)s/ && ',