[OpenMP] Add Fujitsu compiler flags
For best performance on the A64FX with the Fujitsu compiler, the array pointers also need to be labeled __restrict and const as appropriate. Closes #94.
This commit is contained in:
parent
25e021caa3
commit
eba2e79eab
@ -3,7 +3,8 @@ ifndef COMPILER
|
|||||||
define compiler_help
|
define compiler_help
|
||||||
Set COMPILER to change flags (defaulting to GNU).
|
Set COMPILER to change flags (defaulting to GNU).
|
||||||
Available compilers are:
|
Available compilers are:
|
||||||
CLANG CRAY GNU GNU_PPC INTEL XL PGI NEC ARMCLANG AOMP
|
CLANG CRAY GNU GNU_PPC INTEL XL PGI
|
||||||
|
NEC ARMCLANG AOMP FUJITSU
|
||||||
|
|
||||||
Note: GCC on PPC requires -mcpu=native instead of -march=native so we have a special case for it
|
Note: GCC on PPC requires -mcpu=native instead of -march=native so we have a special case for it
|
||||||
|
|
||||||
@ -49,6 +50,7 @@ COMPILER_XL = xlc++
|
|||||||
COMPILER_PGI = pgc++
|
COMPILER_PGI = pgc++
|
||||||
COMPILER_NEC = /opt/nec/ve/bin/nc++
|
COMPILER_NEC = /opt/nec/ve/bin/nc++
|
||||||
COMPILER_AOMP = clang++
|
COMPILER_AOMP = clang++
|
||||||
|
COMPILER_FUJITSU=FCC
|
||||||
CXX = $(COMPILER_$(COMPILER))
|
CXX = $(COMPILER_$(COMPILER))
|
||||||
|
|
||||||
FLAGS_GNU = -O3 -std=c++11 -march=native
|
FLAGS_GNU = -O3 -std=c++11 -march=native
|
||||||
@ -61,6 +63,7 @@ FLAGS_PGI = -O3 -std=c++11
|
|||||||
FLAGS_NEC = -O4 -finline -std=c++11
|
FLAGS_NEC = -O4 -finline -std=c++11
|
||||||
FLAGS_ARMCLANG = -O3 -std=c++11
|
FLAGS_ARMCLANG = -O3 -std=c++11
|
||||||
FLAGS_AOMP = -O3 -std=c++11
|
FLAGS_AOMP = -O3 -std=c++11
|
||||||
|
FLAGS_FUJITSU=-Kfast -std=c++11 -KA64FX -KSVE -KARMV8_3_A -Kzfill=100 -Kprefetch_sequential=soft -Kprefetch_line=8 -Kprefetch_line_L2=16
|
||||||
CXXFLAGS = $(FLAGS_$(COMPILER))
|
CXXFLAGS = $(FLAGS_$(COMPILER))
|
||||||
|
|
||||||
# OpenMP flags for CPUs
|
# OpenMP flags for CPUs
|
||||||
@ -73,6 +76,7 @@ OMP_CLANG_CPU = -fopenmp=libomp
|
|||||||
OMP_XL_CPU = -qsmp=omp -qthreaded
|
OMP_XL_CPU = -qsmp=omp -qthreaded
|
||||||
OMP_PGI_CPU = -mp
|
OMP_PGI_CPU = -mp
|
||||||
OMP_NEC_CPU = -fopenmp
|
OMP_NEC_CPU = -fopenmp
|
||||||
|
OMP_FUJITSU_CPU=-Kopenmp
|
||||||
|
|
||||||
# OpenMP flags for NVIDIA
|
# OpenMP flags for NVIDIA
|
||||||
OMP_CRAY_NVIDIA = -DOMP_TARGET_GPU
|
OMP_CRAY_NVIDIA = -DOMP_TARGET_GPU
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user