Skip to content

Commit 99ec13c

Browse files
authored
Merge pull request #311 from Lumi-supercomputer/vasp_25.03
Vasp 25.03
2 parents 4f66a49 + f782b65 commit 99ec13c

File tree

4 files changed

+283
-0
lines changed

4 files changed

+283
-0
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Based on CSCS VASP easyconfig by Luca Marsella
2+
# Adapted for LUMI by Peter Larsson
3+
4+
easyblock = 'MakeCp'
5+
6+
name = 'VASP'
7+
version = '6.5.0'
8+
versionsuffix = '-build01'
9+
10+
homepage = 'http://www.vasp.at'
11+
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.'
12+
13+
toolchain = { 'name': 'cpeGNU', 'version': '25.03' }
14+
toolchainopts = {'usempi': True, 'openmp' : True }
15+
16+
sources = ['vasp.6.5.0.tgz']
17+
18+
dependencies = [
19+
('Wannier90','3.1.0'),
20+
('DFTD4','3.7.0'),
21+
('libxc','7.0.0','-NoFHC'),
22+
('cray-fftw', EXTERNAL_MODULE),
23+
('cray-hdf5-parallel', EXTERNAL_MODULE),
24+
]
25+
26+
# Just copy in fully patched makefile.include
27+
patches = [('makefile.include.%(name)s-%(version)s-%(toolchain_name)s-%(toolchain_version)s%(versionsuffix)s','%(builddir)s/vasp.6.5.0')]
28+
29+
# No checksum for makefile.include to simplify editing and recompiling
30+
checksums = [
31+
'7836f0fd2387a6768be578f1177e795dc625f36f19015e31cab0e81154a24196', # vasp.6.5.0.tgz
32+
]
33+
34+
prebuildopts = 'mv makefile.include.%(name)s-%(version)s-%(toolchain_name)s-%(toolchain_version)s%(versionsuffix)s makefile.include && unset LIBS && '
35+
buildopts = "DEPS=1 std gam ncl"
36+
37+
# Parallel building is still not working
38+
parallel = 4
39+
40+
files_to_copy = [(['bin/vasp_std','bin/vasp_gam','bin/vasp_ncl'],'bin')]
41+
42+
sanity_check_paths = { 'files': ['bin/vasp_std'], 'dirs': [] }
43+
moduleclass = 'phys'
44+
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Based on CSCS VASP easyconfig by Luca Marsella
2+
# Adapted for LUMI by Peter Larsson
3+
4+
easyblock = 'MakeCp'
5+
6+
name = 'VASP'
7+
version = '6.5.0'
8+
versionsuffix = '-build02'
9+
10+
homepage = 'http://www.vasp.at'
11+
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.'
12+
13+
toolchain = { 'name': 'cpeGNU', 'version': '25.03' }
14+
toolchainopts = {'usempi': True, 'openmp' : True }
15+
16+
sources = ['vasp.6.5.0.tgz']
17+
18+
dependencies = [
19+
('Wannier90','3.1.0'),
20+
('DFTD4','3.7.0'),
21+
('libxc','7.0.0','-NoFHC'),
22+
('cray-fftw', EXTERNAL_MODULE),
23+
('cray-hdf5-parallel', EXTERNAL_MODULE),
24+
]
25+
26+
# Just copy in fully patched makefile.include
27+
patches = [('makefile.include.%(name)s-%(version)s-%(toolchain_name)s-%(toolchain_version)s%(versionsuffix)s','%(builddir)s/vasp.6.5.0'),('POTCAR-readonly-650.patch')]
28+
29+
# No checksum for makefile.include to simplify editing and recompiling
30+
checksums = [
31+
'7836f0fd2387a6768be578f1177e795dc625f36f19015e31cab0e81154a24196', # vasp.6.5.0.tgz
32+
]
33+
34+
prebuildopts = 'mv makefile.include.%(name)s-%(version)s-%(toolchain_name)s-%(toolchain_version)s%(versionsuffix)s makefile.include && unset LIBS && '
35+
buildopts = "DEPS=1 std gam ncl"
36+
37+
# Parallel building is still not working
38+
parallel = 4
39+
40+
files_to_copy = [(['bin/vasp_std','bin/vasp_gam','bin/vasp_ncl'],'bin')]
41+
42+
sanity_check_paths = { 'files': ['bin/vasp_std'], 'dirs': [] }
43+
moduleclass = 'phys'
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
# Default precompiler options
2+
CPP_OPTIONS = -DHOST=\"LUMI2403B01\" \
3+
-DMPI -DMPI_BLOCK=65536 -Duse_collective \
4+
-DscaLAPACK \
5+
-DCACHE_SIZE=4000 \
6+
-Davoidalloc \
7+
-Dvasp6 \
8+
-Duse_bse_te \
9+
-Dtbdyn \
10+
-Dfock_dblbuf \
11+
-D_OPENMP -Duse_shmem -DnoSTOPCAR -DVASP2WANNIER90v2 -DUSELIBXC -DDFTD4
12+
13+
CPP = gcc -E -C -w $*$(FUFFIX) >$*$(SUFFIX) $(CPP_OPTIONS)
14+
15+
FC = ftn -fopenmp
16+
FCL = ftn -fopenmp
17+
18+
FREE = -ffree-form -ffree-line-length-none
19+
20+
FFLAGS = -w -ffpe-summary=none
21+
22+
OFLAG = -O3
23+
OFLAG_IN = $(OFLAG)
24+
DEBUG = -O0
25+
26+
#OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o
27+
#OBJECTS_O1 += fftw3d.o fftmpi.o fftmpiw.o
28+
#OBJECTS_O2 += fft3dlib.o
29+
30+
# For what used to be vasp.5.lib
31+
CPP_LIB = $(CPP)
32+
FC_LIB = $(FC)
33+
CC_LIB = gcc
34+
CFLAGS_LIB = -O
35+
FFLAGS_LIB = -O1
36+
FREE_LIB = $(FREE)
37+
38+
OBJECTS_LIB = linpack_double.o getshmem.o
39+
#OBJECTS_LIB = linpack_double.o
40+
41+
# For the parser library
42+
CXX_PARS = g++
43+
LLIBS = -lstdc++
44+
45+
##
46+
## Customize as of this point! Of course you may change the preceding
47+
## part of this file as well if you like, but it should rarely be
48+
## necessary ...
49+
##
50+
51+
# When compiling on the target machine itself, change this to the
52+
# relevant target when cross-compiling for another architecture
53+
# march is set by the craype-x86-milan module when compiling for LUMI-C partition
54+
#FFLAGS += -march=znver3
55+
56+
# For gcc-10 and higher (comment out for older versions)
57+
FFLAGS += -fallow-argument-mismatch
58+
59+
# BLAS and LAPACK (mandatory)
60+
#OPENBLAS_ROOT ?= /path/to/your/openblas/installation
61+
BLASPACK =
62+
63+
# scaLAPACK (mandatory)
64+
#SCALAPACK_ROOT ?= /path/to/your/scalapack/installation
65+
SCALAPACK =
66+
67+
LLIBS += $(SCALAPACK) $(BLASPACK)
68+
69+
# FFTW (mandatory)
70+
#FFTW_ROOT ?= /path/to/your/fftw/installation
71+
# Note the explicit linking to -lffttw3_omp. It needs to be done due a bug in the build system.
72+
# For some reason, the Cray ftn wrapper does not pick up that OpenMP is enabled for FFTW
73+
LLIBS += -L$(FFTW_ROOT)/lib -lfftw3 -lfftw3_omp
74+
INCS += -I$(FFTW_INC) $(shell pkg-config --cflags dftd4)
75+
76+
# HDF5-support (optional but strongly recommended)
77+
# Use HDF5 from the Cray-module
78+
CPP_OPTIONS+= -DVASP_HDF5
79+
#HDF5_ROOT ?= /path/to/your/hdf5/installation
80+
LLIBS += -L$(HDF5_ROOT)/lib -lhdf5_fortran_parallel_gnu
81+
INCS += -I$(HDF5_ROOT)/include
82+
83+
# For the VASP-2-Wannier90 interface (optional)
84+
CPP_OPTIONS += -DVASP2WANNIER90
85+
#WANNIER90_ROOT ?=
86+
LLIBS += -L$(EBROOTWANNIER90)/lib -lwannier -L/$(shell pkg-config --libs dftd4)
87+
88+
# Add Libxc
89+
LLIBS += -L$(EBROOTLIBXC)/lib -lxcf03 -lxc
90+
INCS += -I$(EBROOTLIBXC)/include
91+
92+
# For the fftlib library (experimental)
93+
CPP_OPTIONS+= -Dsysv
94+
FCL += fftlib.o
95+
CXX_FFTLIB = g++ -fopenmp -std=c++11 -DFFTLIB_THREADSAFE
96+
INCS_FFTLIB = -I./include -I$(FFTW_ROOT)/include
97+
LIBS += fftlib
98+
LLIBS += -ldl
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
# Default precompiler options
2+
CPP_OPTIONS = -DHOST=\"LUMI2403B02\" \
3+
-DMPI -DMPI_BLOCK=65536 -Duse_collective \
4+
-DscaLAPACK \
5+
-DCACHE_SIZE=4000 \
6+
-Davoidalloc \
7+
-Dvasp6 \
8+
-Duse_bse_te \
9+
-Dtbdyn \
10+
-Dfock_dblbuf \
11+
-D_OPENMP -Duse_shmem -DnoSTOPCAR -DVASP2WANNIER90v2 -DUSELIBXC -DDFTD4
12+
13+
CPP = gcc -E -C -w $*$(FUFFIX) >$*$(SUFFIX) $(CPP_OPTIONS)
14+
15+
FC = ftn -fopenmp
16+
FCL = ftn -fopenmp
17+
18+
FREE = -ffree-form -ffree-line-length-none
19+
20+
FFLAGS = -w -ffpe-summary=none
21+
22+
OFLAG = -O3
23+
OFLAG_IN = $(OFLAG)
24+
DEBUG = -O0
25+
26+
#OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o
27+
#OBJECTS_O1 += fftw3d.o fftmpi.o fftmpiw.o
28+
#OBJECTS_O2 += fft3dlib.o
29+
30+
# For what used to be vasp.5.lib
31+
CPP_LIB = $(CPP)
32+
FC_LIB = $(FC)
33+
CC_LIB = gcc
34+
CFLAGS_LIB = -O
35+
FFLAGS_LIB = -O1
36+
FREE_LIB = $(FREE)
37+
38+
OBJECTS_LIB = linpack_double.o getshmem.o
39+
#OBJECTS_LIB = linpack_double.o
40+
41+
# For the parser library
42+
CXX_PARS = g++
43+
LLIBS = -lstdc++
44+
45+
##
46+
## Customize as of this point! Of course you may change the preceding
47+
## part of this file as well if you like, but it should rarely be
48+
## necessary ...
49+
##
50+
51+
# When compiling on the target machine itself, change this to the
52+
# relevant target when cross-compiling for another architecture
53+
# march is set by the craype-x86-milan module when compiling for LUMI-C partition
54+
#FFLAGS += -march=znver3
55+
56+
# For gcc-10 and higher (comment out for older versions)
57+
FFLAGS += -fallow-argument-mismatch
58+
59+
# BLAS and LAPACK (mandatory)
60+
#OPENBLAS_ROOT ?= /path/to/your/openblas/installation
61+
BLASPACK =
62+
63+
# scaLAPACK (mandatory)
64+
#SCALAPACK_ROOT ?= /path/to/your/scalapack/installation
65+
SCALAPACK =
66+
67+
LLIBS += $(SCALAPACK) $(BLASPACK)
68+
69+
# FFTW (mandatory)
70+
#FFTW_ROOT ?= /path/to/your/fftw/installation
71+
# Note the explicit linking to -lffttw3_omp. It needs to be done due a bug in the build system.
72+
# For some reason, the Cray ftn wrapper does not pick up that OpenMP is enabled for FFTW
73+
LLIBS += -L$(FFTW_ROOT)/lib -lfftw3 -lfftw3_omp
74+
INCS += -I$(FFTW_INC) $(shell pkg-config --cflags dftd4)
75+
76+
# HDF5-support (optional but strongly recommended)
77+
# Use HDF5 from the Cray-module
78+
CPP_OPTIONS+= -DVASP_HDF5
79+
#HDF5_ROOT ?= /path/to/your/hdf5/installation
80+
LLIBS += -L$(HDF5_ROOT)/lib -lhdf5_fortran_parallel_gnu
81+
INCS += -I$(HDF5_ROOT)/include
82+
83+
# For the VASP-2-Wannier90 interface (optional)
84+
CPP_OPTIONS += -DVASP2WANNIER90
85+
#WANNIER90_ROOT ?=
86+
LLIBS += -L$(EBROOTWANNIER90)/lib -lwannier -L/$(shell pkg-config --libs dftd4)
87+
88+
# Add Libxc
89+
LLIBS += -L$(EBROOTLIBXC)/lib -lxcf03 -lxc
90+
INCS += -I$(EBROOTLIBXC)/include
91+
92+
# For the fftlib library (experimental)
93+
CPP_OPTIONS+= -Dsysv
94+
FCL += fftlib.o
95+
CXX_FFTLIB = g++ -fopenmp -std=c++11 -DFFTLIB_THREADSAFE
96+
INCS_FFTLIB = -I./include -I$(FFTW_ROOT)/include
97+
LIBS += fftlib
98+
LLIBS += -ldl

0 commit comments

Comments
 (0)