Makefile.include.fujitsu a64fx omp: Difference between revisions

From VASP Wiki
No edit summary
No edit summary
 
(2 intermediate revisions by 2 users not shown)
Line 8: Line 8:
               -Davoidalloc \
               -Davoidalloc \
               -Dvasp6 \
               -Dvasp6 \
              -Duse_bse_te \
               -Dtbdyn \
               -Dtbdyn \
               -Dfock_dblbuf \
               -Dfock_dblbuf \
               -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
FCL        = mpifrt -Kfz,openmp,simd_nouse_multiple_structures


FREE        =
FREE        =
Line 30: Line 29:
OFLAG_3    = -Kfast
OFLAG_3    = -Kfast


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


# For what used to be vasp.5.lib
# For what used to be vasp.5.lib
Line 60: Line 58:
#      (https://github.com/fujitsu/fftw3)
#      (https://github.com/fujitsu/fftw3)
FFTW      ?= /path/to/your/fujitsu/fftw3
FFTW      ?= /path/to/your/fujitsu/fftw3
LLIBS      += -L$(FFTW)/lib -lfftw3 -lfftw3_omp
LLIBS      += -L$(FFTW)/lib64 -lfftw3 -lfftw3_omp
INCS        = -I$(FFTW)/include
INCS        = -I$(FFTW)/include


# HDF5-support (optional but strongly recommended)
# HDF5-support (optional but strongly recommended, and mandatory for some features)
#CPP_OPTIONS+= -DVASP_HDF5
#CPP_OPTIONS+= -DVASP_HDF5
#HDF5_ROOT  ?= /path/to/your/hdf5/installation
#HDF5_ROOT  ?= /path/to/your/hdf5/installation
#LLIBS      += -L$(HDF5_ROOT)/lib -lhdf5_fortran
#LLIBS      += -L$(HDF5_ROOT)/lib64 -lhdf5_fortran -lhdf5
#INCS      += -I$(HDF5_ROOT)/include
#INCS      += -I$(HDF5_ROOT)/include


Line 73: Line 71:
#WANNIER90_ROOT ?= /path/to/your/wannier90/installation
#WANNIER90_ROOT ?= /path/to/your/wannier90/installation
#LLIBS          += -L$(WANNIER90_ROOT)/lib -lwannier
#LLIBS          += -L$(WANNIER90_ROOT)/lib -lwannier
# For the fftlib library (recommended)
#CPP_OPTIONS+= -Dsysv
#FCL        += fftlib.o
#CXX_FFTLIB  = FCC -Nclang -fopenmp -DFFTLIB_THREADSAFE
#INCS_FFTLIB = -I./include -I$(FFTW)/include
#LIBS      += fftlib
#LLIBS      += -ldl
</pre>
</pre>
----
----

Latest revision as of 13:51, 18 December 2024

# Default precompiler options
CPP_OPTIONS = -DHOST=\"FJ-A64FX\" \
              -DMPI -DMPI_BLOCK=8000 -Duse_collective \
              -DscaLAPACK \
              -DCACHE_SIZE=4000 \
              -Davoidalloc \
              -Dvasp6 \
              -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 -Kfz,openmp,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_O1 += minimax_dependence.o
OBJECTS_O2 += 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)/lib64 -lfftw3 -lfftw3_omp
INCS        = -I$(FFTW)/include

# HDF5-support (optional but strongly recommended, and mandatory for some features)
#CPP_OPTIONS+= -DVASP_HDF5
#HDF5_ROOT  ?= /path/to/your/hdf5/installation
#LLIBS      += -L$(HDF5_ROOT)/lib64 -lhdf5_fortran -lhdf5
#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

# For the fftlib library (recommended)
#CPP_OPTIONS+= -Dsysv
#FCL        += fftlib.o
#CXX_FFTLIB  = FCC -Nclang -fopenmp -DFFTLIB_THREADSAFE
#INCS_FFTLIB = -I./include -I$(FFTW)/include
#LIBS       += fftlib
#LLIBS      += -ldl