Makefile.include.fujitsu a64fx omp: Difference between revisions

From VASP Wiki
(Created page with "{{DISPLAYTITLE:makefile.include.fujitsu_a64fx_omp}} <pre> # Default precompiler options CPP_OPTIONS = -DHOST=\"FJ-A64FX\" \ -DMPI -DMPI_BLOCK=8000 -Duse_collecti...")
 
No edit summary
 
(4 intermediate revisions by 3 users not shown)
Line 13: Line 13:
               -D_OPENMP
               -D_OPENMP


CPP        = cpp -P -traditional-cpp $(CPP_OPTIONS) $*$(FUFFIX) > $*$(SUFFIX)
CPP        = frt -Ccpp -E $(CPP_OPTIONS) $*$(FUFFIX) > $*$(SUFFIX)


# N.B.: to cross-compile for A64FX on X86_64 replace mpifrt, frt, fcc, and FCC
# N.B.: to cross-compile for A64FX on X86_64 replace mpifrt, frt, fcc, and FCC
#      by mpifrtpx, frtpx, fccpx, and FCCpx, respectively.
#      by mpifrtpx, frtpx, fccpx, and FCCpx, respectively.
FC          = mpifrt -Kopenmp,simd_nouse_multiple_structures -X03
FC          = mpifrt -Kopenmp,simd_nouse_multiple_structures -X03
FCL        = mpifrt -Kopenmp,simd_nouse_multiple_structures -lstdc++
FCL        = mpifrt -Kopenmp,simd_nouse_multiple_structures


FREE        =
FREE        =
Line 26: Line 26:
OFLAG_IN    = $(OFLAG)
OFLAG_IN    = $(OFLAG)
DEBUG      = -O0 -g
DEBUG      = -O0 -g
OFLAG_1    = -O1  
OFLAG_1    = -O1
OFLAG_2    = -O2  
OFLAG_2    = -O2
OFLAG_3    = -Kfast
OFLAG_3    = -Kfast


OBJECTS    = zdotc.o fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o
OBJECTS    = zdotc.o fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o
OBJECTS_O1 += minimax_dependence.o fftw3d.o fftmpi.o fftmpiw.o
OBJECTS_O1 += minimax_dependence.o fftw3d.o fftmpi.o fftmpiw.o
OBJECTS_O2 += fft3dlib.o
OBJECTS_O2 += fft3dlib.o nonl.o vdw_nl.o


# For what used to be vasp.5.lib
# For what used to be vasp.5.lib
Line 38: Line 38:
FC_LIB      = frt  -Ksimd_nouse_multiple_structures
FC_LIB      = frt  -Ksimd_nouse_multiple_structures
CC_LIB      = fcc -Nclang
CC_LIB      = fcc -Nclang
CFLAGS_LIB  = -O3  
CFLAGS_LIB  = -O3
FFLAGS_LIB  = $(OFLAG)
FFLAGS_LIB  = $(OFLAG)
FREE_LIB    = $(FREE)
FREE_LIB    = $(FREE)
Line 46: Line 46:
# For the parser library
# For the parser library
CXX_PARS    = FCC -Nclang
CXX_PARS    = FCC -Nclang
LLIBS      = -lstdc++


##
##
Line 54: Line 55:


# BLAS, LAPACK, and SCALAPACK (mandatory)
# BLAS, LAPACK, and SCALAPACK (mandatory)
LLIBS       = -SSL2BLAMP -SCALAPACK
LLIBS     += -SSL2BLAMP -SCALAPACK


# HINT: Fujitsu maintains its own fftw fork on GitHub
# HINT: Fujitsu maintains its own fftw fork on GitHub
Line 73: Line 74:
#LLIBS          += -L$(WANNIER90_ROOT)/lib -lwannier
#LLIBS          += -L$(WANNIER90_ROOT)/lib -lwannier
</pre>
</pre>
----
[[Category:VASP]]
[[Category:Installation]]

Latest revision as of 13:52, 31 May 2024

# Default precompiler options
CPP_OPTIONS = -DHOST=\"FJ-A64FX\" \
              -DMPI -DMPI_BLOCK=8000 -Duse_collective \
              -DscaLAPACK \
              -DCACHE_SIZE=4000 \
              -Davoidalloc \
              -Dvasp6 \
              -Duse_bse_te \
              -Dtbdyn \
              -Dfock_dblbuf \
              -D_OPENMP

CPP         = frt -Ccpp -E $(CPP_OPTIONS) $*$(FUFFIX) > $*$(SUFFIX)

# N.B.: to cross-compile for A64FX on X86_64 replace mpifrt, frt, fcc, and FCC
#       by mpifrtpx, frtpx, fccpx, and FCCpx, respectively.
FC          = mpifrt -Kopenmp,simd_nouse_multiple_structures -X03
FCL         = mpifrt -Kopenmp,simd_nouse_multiple_structures

FREE        =

FFLAGS      = -Koptmsg=2
OFLAG       = -Kfast
OFLAG_IN    = $(OFLAG)
DEBUG       = -O0 -g
OFLAG_1     = -O1
OFLAG_2     = -O2
OFLAG_3     = -Kfast

OBJECTS     = zdotc.o fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o
OBJECTS_O1 += minimax_dependence.o fftw3d.o fftmpi.o fftmpiw.o
OBJECTS_O2 += fft3dlib.o nonl.o vdw_nl.o

# For what used to be vasp.5.lib
CPP_LIB     = $(CPP)
FC_LIB      = frt  -Ksimd_nouse_multiple_structures
CC_LIB      = fcc -Nclang
CFLAGS_LIB  = -O3
FFLAGS_LIB  = $(OFLAG)
FREE_LIB    = $(FREE)

OBJECTS_LIB = linpack_double.o

# For the parser library
CXX_PARS    = FCC -Nclang
LLIBS       = -lstdc++

##
## Customize as of this point! Of course you may change the preceding
## part of this file as well if you like, but it should rarely be
## necessary ...
##

# BLAS, LAPACK, and SCALAPACK (mandatory)
LLIBS      += -SSL2BLAMP -SCALAPACK

# HINT: Fujitsu maintains its own fftw fork on GitHub
#       (https://github.com/fujitsu/fftw3)
FFTW       ?= /path/to/your/fujitsu/fftw3
LLIBS      += -L$(FFTW)/lib -lfftw3 -lfftw3_omp
INCS        = -I$(FFTW)/include

# HDF5-support (optional but strongly recommended)
#CPP_OPTIONS+= -DVASP_HDF5
#HDF5_ROOT  ?= /path/to/your/hdf5/installation
#LLIBS      += -L$(HDF5_ROOT)/lib -lhdf5_fortran
#INCS       += -I$(HDF5_ROOT)/include

# For the VASP-2-Wannier90 interface (optional)
#CPP_OPTIONS    += -DVASP2WANNIER90
#WANNIER90_ROOT ?= /path/to/your/wannier90/installation
#LLIBS          += -L$(WANNIER90_ROOT)/lib -lwannier