# IT4Innovations 2021 # JK2021 easyblock = 'CMakeMake' name = 'QMCPACK' version = '3.11.0' versionsuffix = "-Python-%(pyver)s" 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. """ # vyžaduje GCC 9.3.0, které nemá podporu pro naše AMD procesory => kompilace s druhým AMD hackem je broken 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} source_urls = ['https://github.com/QMCPACK/qmcpack/archive/'] sources = ['v%(version)s.tar.gz'] builddependencies = [('CMake', '3.20.1', '', True)] dependencies = [ ('libxml2', '2.9.10'), ('Boost', '1.74.0'), ('HDF5', '1.10.6', '-parallel'), ('Python', '3.8.6'), ('h5py', '3.1.0'), ('SciPy-bundle', '2020.11'), ('GCC', '9.3.0', '', True), # obejití podmínky GCC 9.3.0 ] separate_build_dir = True configopts = ' -DENABLE_SOA=1 ' # prekopiruje nexus knihovny o kterych install file tvrdi, ze nejsou potreba # ale evidentne to bez nich nejede preinstallopts = [ ' mkdir -p %(installdir)s/nexus && ', ' cp -r %(builddir)s/qmcpack-%(version)s/nexus/lib %(installdir)s/nexus/lib && ', ] # prida nexus knihovny do PYTHONPATH modextrapaths = {'PYTHONPATH': 'nexus/lib'} sanity_check_paths = { 'files': ['bin/qmcpack'], 'dirs': ['bin'], } moduleclass = 'phys'