-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Closed
Description
Hello,
I was building OpenBLAS 0.3.29 on a Grace CPU (neoverse V2) using the latest NVHPC tolchain (25.1).
I use the CMake build system, allong with the following flags & variables :
export CC=nvc
export CXX=nvc++
export FC=nvfortran
export ARCH_FLAGS="-tp=host"
export OPT_FLAGS="-O3"
export CFLAGS="${ARCH_FLAGS} ${OPT_FLAGS}"
export CXXFLAGS="${ARCH_FLAGS} ${OPT_FLAGS}"
export FCFLAGS="${ARCH_FLAGS} ${OPT_FLAGS}"
export FFLAGS="$FCFLAGS"
export F90LAGS="$FCFLAGS"
cmake \
-Wno-dev \
-G "Unix Makefiles" \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_STATIC_LIBS=ON \
-DBUILD_BENCHMARKS=ON \
-DDYNAMIC_ARCH=OFF \
-DUSE_THREAD=ON -DUSE_OPENMP=ON \
-DTARGET=ARMV8SVE \
$OPENBLAS_DIR
CMake generates a Makefile, but at some point it fails during lapack build :
[ 23%] Building C object CMakeFiles/LAPACKE.dir/lapack-netlib/LAPACKE/src/lapacke_sbbcsd.c.o
$SYS_ROOT/Linux/rhel-9.4/aarch64/compilers/nvhpc/24.5/prefix/Linux_aarch64/24.5/compilers/bin/nvc -I$HOME/test/nvhpc_openblas_repro/OpenBLAS-0.3.29/lapack-netlib/LAPACKE/include -tp=host -O3 -DHAVE_C11 -mp -DUSE_OPENMP -tp px -march=armv8-a+sve -fPIC -DGEMM_GEMV_FORWARD -DSMALL_MATRIX_OPT -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=288 -DMAX_PARALLEL_NUMBER=1 -DMAX_STACK_ALLOC=2048 -DNO_AFFINITY -DVERSION="\"0.3.29\"" -DBUILD_SINGLE -DBUILD_DOUBLE -DBUILD_COMPLEX -DBUILD_COMPLEX16 -fast -O3 -DNDEBUG -DHAVE_LAPACK_CONFIG_H -MD -MT CMakeFiles/LAPACKE.dir/lapack-netlib/LAPACKE/src/lapacke_sbbcsd.c.o -MF CMakeFiles/LAPACKE.dir/lapack-netlib/LAPACKE/src/lapacke_sbbcsd.c.o.d -o CMakeFiles/LAPACKE.dir/lapack-netlib/LAPACKE/src/lapacke_sbbcsd.c.o -c $HOME/test/nvhpc_openblas_repro/OpenBLAS-0.3.29/lapack-netlib/LAPACKE/src/lapacke_sbbcsd.c
nvc-Error-Switch -tp with unknown keyword armv8-a+sve
-tp=host|native|neoverse-n1|neoverse-v1|neoverse-v2
Select target processor
host Link native version of HPC SDK cpu math library
native Alias for -tp host
neoverse-n1 Arm Neoverse N1 architecture
neoverse-v1 Arm Neoverse V1 architecture (SVE x 256)
neoverse-v2 Arm Neoverse V2 architecture (SVE x 128)
make[2]: *** [CMakeFiles/LAPACKE.dir/build.make:76: CMakeFiles/LAPACKE.dir/lapack-netlib/LAPACKE/src/lapacke_sbbcsd.c.o] Error 1
I suspect the arch for this compiler is not set properly.
I understand that the cmake builds are still experimental, just here to report the issue to improve support :)
Best.
Metadata
Metadata
Assignees
Labels
No labels