1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-11-09 23:45:36 +00:00

added SVE configure for armclang and gcc

This commit is contained in:
nils meyer 2020-04-24 10:10:47 +02:00
parent 6f44e3c192
commit 6db68d6ecb
3 changed files with 16 additions and 10 deletions

View File

@ -118,8 +118,11 @@ accelerator_inline Grid_half sfw_float_to_half(float ff) {
#ifdef GEN
#if defined(A64FX) // breakout A64FX SVE ACLE here
//#pragma message("building for A64FX / SVE ACLE")
#if defined(clang)
#if defined(HOTFIX)
#pragma message("applying armclang hotfix")
#define ARMCLANGHOTFIX // armclang 20.0 compiles, but binaries give wrong results without hotfix
#else
#pragma message("not applying armclang hotfix")
#endif
#include <arm_sve.h>
#include "Grid_a64fx-2.h"

View File

@ -1,10 +1,13 @@
armclang 20.0 VLA
../configure --with-lime=/home/men04359/lime/c-lime --without-hdf5 --enable-gen-simd-width=64 --enable-simd=GEN --enable-precision=double --enable-comms=none --enable-openmp CXX=g++-10.0.1 CC=gcc-10.0.1 CXXFLAGS="-std=c++11 -march=armv8-a+sve -msve-vector-bits=512 -fno-gcse -DA64FX -DA64FXASM -DDSLASHINTRIN" LDFLAGS=-static GRID_LDFLAGS=-static MPI_CXXLDFLAGS=-static
gcc 10.0.1 VLA
../configure --with-lime=/home/men04359/lime/c-lime --without-hdf5 --enable-gen-simd-width=64 --enable-simd=GEN --enable-precision=double --enable-comms=none --enable-openmp CXX=armclang++ CC=armclang CXXFLAGS="-std=c++11 -fno-unroll-loops -mllvm -vectorizer-min-trip-count=2 -march=armv8-a+sve -DA64FX -DA64FXASM -DDSLASHINTRIN" LDFLAGS=-static GRID_LDFLAGS=-static MPI_CXXLDFLAGS=-static
../configure --with-lime=/home/men04359/lime/c-lime --without-hdf5 --enable-gen-simd-width=64 --enable-simd=GEN --enable-precision=double --enable-comms=none --enable-openmp CXX=g++-10.0.1 CC=gcc-10.0.1 CXXFLAGS="-std=c++11 -march=armv8-a+sve -msve-vector-bits=512 -fno-gcse -static -DA64FX -DA64FXASM -DDSLASHINTRIN" LDFLAGS=-static GRID_LDFLAGS=-static MPI_CXXLDFLAGS=-static
should remove "-fno-strict-aliasing" for gcc 10
armclang 20.0 VLA
../configure --with-lime=/home/men04359/lime/c-lime --without-hdf5 --enable-gen-simd-width=64 --enable-simd=GEN --enable-precision=double --enable-comms=none --enable-openmp CXX=armclang++ CC=armclang CXXFLAGS="-std=c++11 -fno-unroll-loops -mllvm -vectorizer-min-trip-count=2 -march=armv8-a+sve -DHOTFIX -DA64FX -DA64FXASM -DDSLASHINTRIN" LDFLAGS=-static GRID_LDFLAGS=-static MPI_CXXLDFLAGS=-static
must use armclang 20.0 with HOTFIX applied, otherwise Benchmark_wilson gives wrong result
what about "-fno-strict-aliasing" ?

View File

@ -289,8 +289,8 @@ case ${CXX} in
*)
CXXLD=${CXX}
#
#CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
CXXFLAGS="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS -fno-strict-aliasing"
#CXXFLAGS="$CXXFLAGS"
;;
esac