mirror of
https://github.com/paboyle/Grid.git
synced 2024-11-09 23:45:36 +00:00
guard prevents multiple A64FX build messages
This commit is contained in:
parent
6b6bf537d3
commit
9e085bd04e
@ -39,16 +39,16 @@ Author: Nils Meyer <nils.meyer@ur.de> Regensburg University
|
|||||||
|
|
||||||
// enable A64FX body
|
// enable A64FX body
|
||||||
#define WILSONKERNELSASMBODYA64FX
|
#define WILSONKERNELSASMBODYA64FX
|
||||||
#pragma message("Including A64FX Dslash: WilsonKernelsAsmBodyA64FX.h")
|
#pragma message("A64FX Dslash: WilsonKernelsAsmBodyA64FX.h")
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// If we are A64FX specialise the single precision routine
|
// If we are A64FX specialise the single precision routine
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
#if defined(DSLASHINTRIN)
|
#if defined(DSLASHINTRIN)
|
||||||
#pragma message ("including A64FX Dslash: intrin")
|
#pragma message ("A64FX Dslash: intrin")
|
||||||
#include <simd/Fujitsu_A64FX_intrin_single.h>
|
#include <simd/Fujitsu_A64FX_intrin_single.h>
|
||||||
#else
|
#else
|
||||||
#pragma message ("including A64FX Dslash: asm")
|
#pragma message ("A64FX Dslash: asm")
|
||||||
#include <simd/Fujitsu_A64FX_asm_single.h>
|
#include <simd/Fujitsu_A64FX_asm_single.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
|
|
||||||
// gcc 10 features
|
// gcc 10 features
|
||||||
#if __ARM_FEATURE_SVE_BITS==512
|
#if __ARM_FEATURE_SVE_BITS==512
|
||||||
#pragma message("Fixed-size SVE ACLE")
|
#pragma message("building for A64FX / fixed SVE data type size")
|
||||||
/* gcc 10.0.1 and gcc 10.1 bug using ACLE data types CAS-159553-Y1K4C6
|
/* gcc 10.0.1 and gcc 10.1 bug using ACLE data types CAS-159553-Y1K4C6
|
||||||
workaround: use gcc's internal data types, bugfix expected for gcc 10.2
|
workaround: use gcc's internal data types, bugfix expected for gcc 10.2
|
||||||
typedef svbool_t pred __attribute__((arm_sve_vector_bits(512)));
|
typedef svbool_t pred __attribute__((arm_sve_vector_bits(512)));
|
||||||
|
@ -120,11 +120,15 @@ accelerator_inline Grid_half sfw_float_to_half(float ff) {
|
|||||||
#if defined(A64FX) || defined(A64FXFIXEDSIZE) // breakout A64FX SVE ACLE here
|
#if defined(A64FX) || defined(A64FXFIXEDSIZE) // breakout A64FX SVE ACLE here
|
||||||
#include <arm_sve.h>
|
#include <arm_sve.h>
|
||||||
#if defined(A64FX) // VLA
|
#if defined(A64FX) // VLA
|
||||||
|
#ifndef MSGVLA
|
||||||
#pragma message("building for A64FX / SVE ACLE VLA")
|
#pragma message("building for A64FX / SVE ACLE VLA")
|
||||||
|
#define MSGVLA
|
||||||
|
#endif
|
||||||
#if defined(ARMCLANGCOMPAT)
|
#if defined(ARMCLANGCOMPAT)
|
||||||
|
#ifndef MSGCOMPAT
|
||||||
#pragma message("applying armclang fix")
|
#pragma message("applying armclang fix")
|
||||||
//#else
|
#define MSGCOMPAT
|
||||||
//#pragma message("not applying armclang fix")
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#include "Grid_a64fx-2.h"
|
#include "Grid_a64fx-2.h"
|
||||||
#endif
|
#endif
|
||||||
@ -132,7 +136,10 @@ accelerator_inline Grid_half sfw_float_to_half(float ff) {
|
|||||||
#include "Grid_a64fx-fixedsize.h"
|
#include "Grid_a64fx-fixedsize.h"
|
||||||
#endif
|
#endif
|
||||||
#else
|
#else
|
||||||
|
#ifndef MSGGEN
|
||||||
#pragma message("building for GEN") // generic
|
#pragma message("building for GEN") // generic
|
||||||
|
#define MSGGEN
|
||||||
|
#endif
|
||||||
#include "Grid_generic.h"
|
#include "Grid_generic.h"
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -8,6 +8,22 @@
|
|||||||
../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 -DA64FXFIXEDSIZE -DA64FXASM -DDSLASHINTRIN"
|
../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 -DA64FXFIXEDSIZE -DA64FXASM -DDSLASHINTRIN"
|
||||||
|
|
||||||
|
|
||||||
|
* gcc 10.0.1 fixed-size ACLE (fjt) w/ MPI
|
||||||
|
|
||||||
|
export OMPI_CC=gcc-10.0.1
|
||||||
|
export OMPI_CXX=g++-10.0.1
|
||||||
|
export MPICH_CC=gcc-10.0.1
|
||||||
|
export MPICH_CXX=g++-10.0.1
|
||||||
|
|
||||||
|
$ ../configure --without-hdf5 --enable-gen-simd-width=64 --enable-simd=GEN --enable-precision=double --enable-comms=mpi3 --enable-openmp CXX=mpiFCC CC=mpifcc CXXFLAGS="-std=c++11 -march=armv8-a+sve -msve-vector-bits=512 -fno-gcse -DA64FXFIXEDSIZE -DA64FXASM -DDSLASHINTRIN -DTOFU -I/opt/FJSVxtclanga/tcsds-1.2.24/include/mpi/fujitsu -lrt" LDFLAGS="-L/opt/FJSVxtclanga/tcsds-1.2.24/lib64 -lrt"
|
||||||
|
|
||||||
|
works! but binaries do not finish when running via job scheduler. problem with MPI_finalize ?
|
||||||
|
|
||||||
|
interactive login: mpirun -np 1 ./Benchmark_wilson_sweep --dslash-asm
|
||||||
|
[WARN] PLE 0610 plexec The process terminated with the signal.(rank=0)(nid=0xff010008)(sig=9) ?
|
||||||
|
|
||||||
|
--------------------------------------------------------
|
||||||
|
|
||||||
* armclang 20.0 VLA (merlin)
|
* armclang 20.0 VLA (merlin)
|
||||||
|
|
||||||
../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 -DARMCLANGCOMPAT -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=armclang++ CC=armclang CXXFLAGS="-std=c++11 -fno-unroll-loops -mllvm -vectorizer-min-trip-count=2 -march=armv8-a+sve -DARMCLANGCOMPAT -DA64FX -DA64FXASM -DDSLASHINTRIN" LDFLAGS=-static GRID_LDFLAGS=-static MPI_CXXLDFLAGS=-static
|
||||||
@ -29,6 +45,14 @@ TODO check ARMCLANGCOMPAT
|
|||||||
TODO check ARMCLANGCOMPAT
|
TODO check ARMCLANGCOMPAT
|
||||||
|
|
||||||
|
|
||||||
|
* armclang 20.1 VLA (fjt cluster)
|
||||||
|
|
||||||
|
../configure --with-lime=$HOME/local --without-hdf5 --enable-gen-simd-width=64 --enable-simd=GEN --enable-precision=double --enable-comms=mpi3 --enable-openmp CXX=mpiFCC CC=mpifcc CXXFLAGS="-std=c++11 -mcpu=a64fx -DA64FX -DA64FXASM -DDSLASHINTRIN -DTOFU -I/opt/FJSVxtclanga/tcsds-1.2.24/include/mpi/fujitsu -lrt" LDFLAGS="-L/opt/FJSVxtclanga/tcsds-1.2.24/lib64"
|
||||||
|
|
||||||
|
No ARMCLANGCOMPAT -> still correct ?
|
||||||
|
|
||||||
|
--------------------------------------------------------
|
||||||
|
|
||||||
* Fujitsu fcc
|
* Fujitsu fcc
|
||||||
|
|
||||||
../configure --with-lime=$HOME/grid-a64fx/lime/c-lime --without-hdf5 --enable-gen-simd-width=64 --enable-simd=GEN --enable-precision=double --enable-comms=none --enable-openmp --with-mpfr=/home/users/gre/gre-1/grid-a64fx/mpfr-build/install CXX=FCC CC=fcc CXXFLAGS="-Nclang -Kfast -DA64FX -DA64FXASM -DDSLASHINTRIN"
|
../configure --with-lime=$HOME/grid-a64fx/lime/c-lime --without-hdf5 --enable-gen-simd-width=64 --enable-simd=GEN --enable-precision=double --enable-comms=none --enable-openmp --with-mpfr=/home/users/gre/gre-1/grid-a64fx/mpfr-build/install CXX=FCC CC=fcc CXXFLAGS="-Nclang -Kfast -DA64FX -DA64FXASM -DDSLASHINTRIN"
|
||||||
|
Loading…
Reference in New Issue
Block a user