Skip to content

Instantly share code, notes, and snippets.

@keichi
Created December 4, 2022 11:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save keichi/6d420807d8ef226c9762e04fbfb3f833 to your computer and use it in GitHub Desktop.
Save keichi/6d420807d8ef226c9762e04fbfb3f833 to your computer and use it in GitHub Desktop.

Building ADIOS2 on AOBA

The port is available at https://github.com/keichi/ADIOS2 in the ve-port branch. Following are the CMake commands to build it (tested on AOBA-C using NEC C/C++ compiler 3.5.0 and NEC MPI 3.0.0).

Tests pass except for std::span related tests. This is due to the VE's strict alignment requirements.

VE

w/o MPI

cmake \
    -DCMAKE_TOOLCHAIN_FILE=/opt/nec/ve/share/cmake/toolchainVE.cmake \
    -DCMAKE_CXX_FLAGS_RELEASE="-O4 -D__GNUC_MINOR__=1 -fdiag-inline=0 -fdiag-parallel=0 -fdiag-vector=0" \
    -DCMAKE_C_FLAGS_RELEASE="-O4 -D__GNUC_MINOR__=1 -fdiag-inline=0 -fdiag-parallel=0 -fdiag-vector=0" \
    -DADIOS2_USE_SST=OFF \
    -DADIOS2_USE_BP5=OFF \
    -DADIOS2_USE_Fortran=OFF \
    -DADIOS2_USE_BZip2=OFF \
    -DBUILD_SHARED_LIBS=OFF \
    ..

w/ MPI

cmake \
    -DCMAKE_TOOLCHAIN_FILE=/opt/nec/ve/share/cmake/toolchainVE-MPI.cmake \
    -DCMAKE_CXX_FLAGS_RELEASE="-O4 -D__GNUC_MINOR__=1 -fdiag-inline=0 -fdiag-parallel=0 -fdiag-vector=0" \
    -DCMAKE_C_FLAGS_RELEASE="-O4 -D__GNUC_MINOR__=1 -fdiag-inline=0 -fdiag-parallel=0 -fdiag-vector=0" \
    -DADIOS2_USE_SST=OFF \
    -DADIOS2_USE_BP5=OFF \
    -DADIOS2_USE_Fortran=OFF \
    -DADIOS2_USE_BZip2=OFF \
    -DBUILD_SHARED_LIBS=OFF \
    -DMPIEXEC_MAX_NUMPROCS=8 \
    -DMPIEXEC_EXECUTABLE=/opt/nec/ve/bin/mpiexec \
    ..

Don't add -finline-functions to the compiler flags since it breaks the build due to a compiler bug.

VH

w/ MPI

cmake \
    -DCMAKE_CXX_COMPILER=/opt/nec/ve/mpi/3.0.0/bin/mpic++ \
    -DCMAKE_C_COMPILER=/opt/nec/ve/mpi/3.0.0/bin/mpicc \
    -DCMAKE_CXX_FLAGS_RELEASE="-vh" \
    -DCMAKE_C_FLAGS_RELEASE="-vh" \
    -DADIOS2_USE_SST=OFF \
    -DADIOS2_USE_BP5=OFF \
    -DADIOS2_USE_Fortran=OFF \
    -DADIOS2_USE_BZip2=OFF \
    -DBUILD_SHARED_LIBS=OFF \
    ..
``
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment