Makefile.include.fujitsu a64fx: Difference between revisions

From VASP Wiki
No edit summary
No edit summary
Line 17: Line 17:
#      by mpifrtpx, frtpx, fccpx, and FCCpx, respectively.
#      by mpifrtpx, frtpx, fccpx, and FCCpx, respectively.
FC          = mpifrt -Ksimd_nouse_multiple_structures -X03
FC          = mpifrt -Ksimd_nouse_multiple_structures -X03
FCL        = mpifrt -Ksimd_nouse_multiple_structures -lstdc++
FCL        = mpifrt -Ksimd_nouse_multiple_structures


FREE        =
FREE        =
Line 25: Line 25:
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


Line 37: Line 37:
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 45: Line 45:
# For the parser library
# For the parser library
CXX_PARS    = FCC -Nclang
CXX_PARS    = FCC -Nclang
LLIBS      = -lstdc++


##
##
Line 53: Line 54:


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


# HINT: Fujitsu maintains its own fftw fork on GitHub
# HINT: Fujitsu maintains its own fftw fork on GitHub

Revision as of 17:22, 20 January 2022

# 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

CPP         = cpp -P -traditional-cpp $(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 -Ksimd_nouse_multiple_structures -X03
FCL         = mpifrt -Ksimd_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

# 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      += -SSL2 -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
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

Contents