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.
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.
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 \
..
``