easyblock = 'MakeCp' name = 'VASP' version = '5.4.4' versionsuffix = '-mkl=cluster' homepage = 'http://www.vasp.at' description = """The Vienna Ab initio Simulation Package (VASP) is a computer program for atomic scale materials modelling, e.g. electronic structure calculations and quantum-mechanical molecular dynamics, from first principles.""" toolchain = {'name': 'intel', 'version': '2017a'} toolchainopts = {'pic': True, 'usempi': True} # Vasp is proprietary software, see http://www.vasp.at/index.php/faqs on how to get access to the code sources = ['%(namelower)s.%(version)s.tar.gz'] checksums = ['8ac646b108f974371eef398973373bf6'] dependencies = [ ('zlib', '1.2.11', '', True), ] prebuildopts = 'cp arch/makefile.include.linux_intel ./makefile.include && ' # path to libfftw3xf_intel.a is hardcoded in makefile.include prebuildopts += 'sed -i "s|\$(MKLROOT)/interfaces/fftw3xf|\$(FFTW_LIB_DIR)|" makefile.include && ' # remove mkl flag to prevent mixing dynamic libs with the static libs in LIBBLACS/SCALAPACK prebuildopts += 'sed -i "s|-mkl=sequential|-mkl=cluster|" makefile.include && ' # OFLAG = -O2 -xAVX prebuildopts += 'sed -i "s|OFLAG = -O2|OFLAG = -O3 -xAVX|" makefile.include && ' # objects add MKLROOT prebuildopts += 'sed -i "s|OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o|OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o \$\(MKLROOT\)/lib/intel64_lin/libfftw3xf_intel.a|" makefile.include && ' # VASP uses LIBS as a list of folders prebuildopts += 'unset LIBS && ' #prebuildopts += 'exit 1' buildopts = 'all BLACS="$LIBBLACS" SCALAPACK="$LIBSCALAPACK"' parallel = 1 files_to_copy = [(['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'], 'bin')] sanity_check_paths = { 'files': ['bin/vasp_std', 'bin/vasp_gam', 'bin/vasp_ncl'], 'dirs': [] } moduleclass = 'phys'