Grid
Grid is available at https://github.com/paboyle/Grid .
Building on Fugaku
To enjoy a good performance, one needs to use gcc 10. On Fugaku, gcc 10 is available through spack (works also with newer gcc, but gcc 10 is slightly faster).
- start an interactive job
- activate the spack:
. /vol0004/apps/oss/spack/share/spack/setup-env.sh
- load gcc:
spack load gcc@10.5.0
- set gcc to the backend of the mpi compilers:
export MPI_CC=gcc
export OMPI_CXX=g++
export MPICH_CC=gcc
export MPICH_CXX=g++ - prepare
mpfr
andlime
. You can use your own build. You can also use packages provided by spack (usespack find xxxx
to find the installed package). - preparation for configure: at the top of the source tree, run
./bootstrap.sh
- make a build directory, cd to that directory and run the configure script. Here is an example of a script to run the configure:
export CXX=mpiFCC
LOCAL=location_of_your_build_of_mpfr_and_lime
export LDFLAGS="-L${LOCAL}/lib/ -lrt -L/opt/FJSVxtclanga/lib64/ -Wl,-T/opt/FJSVxos/mmm/util/bss-2mb.lds -L/opt/FJSVxos/mmm/lib64 -lmpg" CPPFLAGS="-I${LOCAL}/include -I/opt/FJSVxtclanga/include/mpi/fujitsu -DTOFU" export CXXFLAGS="${CPPFLAGS}"
../configure \
--enable-simd=A64FX \
--enable-gen-simd_width=64 \
--enable-comms=mpi3 \
--enable-shm=shmget
The most specific to Fugaku is-DTOFU
(it does not use direct API for Tofu network, though) and–enable-simd=A64FX –enable-gen-simd_width=64
. - In the execution,
- add the location of mpfr and lime to the LD_LIBRARY_PATH
LD_LIBRARY_PATH=location_of_your_dot_a_files:$LD_LIBRARY_PATH
- or, load the spack package you used in building grid
- add the location of mpfr and lime to the LD_LIBRARY_PATH