Grid

Home > 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).

  1. start an interactive job
  2. activate the spack:
    . /vol0004/apps/oss/spack/share/spack/setup-env.sh
  3. load gcc:
    spack load gcc@10.5.0
  4. 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++

  5. prepare mpfr and lime. You can use your own build. You can also use packages provided by spack (use spack find xxxx to find the installed package).
  6. preparation for configure: at the top of the source tree, run ./bootstrap.sh
  7. 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 .
  8. 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