Migrate build system from Intel oneAPI to AMD AOCC/AOCL toolchain

- Add TOOLCHAIN=aocc option with flang/clang++/mpicxx compilers
- Replace Intel flags (-xHost/-fma/-ipo/-qopenmp) with AOCC flags
  (-march=znver5/-ffast-math/-flto/-fopenmp) targeting EPYC 9755
- Replace Intel oneMKL with AMD AOCL (BLIS + libFLAME + amdlibm)
- Replace Intel TBBMALLOC with system jemalloc
- Change MKL-specific headers to standard CBLAS/LAPACKE
  (TwoPunctures.C, gaussj.C)
- Guard TBBMALLOC to Intel toolchain only

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-12 15:31:37 +08:00
parent 5d8dfaf679
commit 5956a952a0
4 changed files with 31 additions and 4 deletions

View File

@@ -36,6 +36,16 @@ endif
TP_OPTFLAGS = -O3 -xHost -fp-model fast=2 -fma -ipo \
-Dfortran3 -Dnewc $(MKL_INC)
else ifeq ($(TOOLCHAIN),aocc)
## AMD AOCC build flags optimized for EPYC Zen 5 (-march=znver5)
## PGO_MODE is ignored in this branch.
OMP_FLAG = -fopenmp
CXXAPPFLAGS = -O3 -march=znver5 -ffast-math -flto \
-Dfortran3 -Dnewc -I$(AOCL_ROOT)/include $(INTERP_LB_FLAGS)
f90appflags = -O3 -march=znver5 -ffast-math -flto \
-cpp -I$(AOCL_ROOT)/include $(POLINT6_FLAG)
TP_OPTFLAGS = -O3 -march=znver5 -ffast-math -flto \
-Dfortran3 -Dnewc -I$(AOCL_ROOT)/include
else
## NVHPC defaults: mpicc/mpicxx/mpifort wrappers
## PGO_MODE is ignored in this branch.