Skip to content

Commit

Permalink
bp5: remove ADIOS2_USE_BP5 option
Browse files Browse the repository at this point in the history
  • Loading branch information
vicentebolea committed Aug 22, 2023
1 parent 2943a2f commit fdf4197
Show file tree
Hide file tree
Showing 10 changed files with 116 additions and 157 deletions.
8 changes: 4 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,6 @@ adios_option(DataMan "Enable support for DataMan" AUTO)
adios_option(DataSpaces "Enable support for DATASPACES" AUTO)
adios_option(MHS "Enable support for MHS" AUTO)
adios_option(SST "Enable support for SST" AUTO)
adios_option(BP5 "Enable support for BP5" AUTO)
adios_option(ZeroMQ "Enable support for ZeroMQ" AUTO)
adios_option(HDF5 "Enable support for the HDF5 engine" AUTO)
adios_option(HDF5_VOL "Enable support for HDF5 ADIOS2 VOL" AUTO)
Expand Down Expand Up @@ -238,9 +237,10 @@ endif()


set(ADIOS2_CONFIG_OPTS
BP5 DataMan DataSpaces HDF5 HDF5_VOL MHS SST Fortran MPI Python Blosc2
BZip2 LIBPRESSIO MGARD PNG SZ ZFP DAOS IME O_DIRECT Sodium Catalyst SysVShMem UCX ZeroMQ
Profiling Endian_Reverse AWSSDK GPU_Support CUDA Kokkos Kokkos_CUDA Kokkos_HIP Kokkos_SYCL
DataMan DataSpaces HDF5 HDF5_VOL MHS SST Fortran MPI Python Blosc2 BZip2
LIBPRESSIO MGARD PNG SZ ZFP DAOS IME O_DIRECT Sodium Catalyst SysVShMem UCX
ZeroMQ Profiling Endian_Reverse AWSSDK GPU_Support CUDA Kokkos Kokkos_CUDA
Kokkos_HIP Kokkos_SYCL
)

GenerateADIOSHeaderConfig(${ADIOS2_CONFIG_OPTS})
Expand Down
5 changes: 0 additions & 5 deletions cmake/DetectOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -485,11 +485,6 @@ if(DAOS_FOUND)
set(ADIOS2_HAVE_DAOS TRUE)
endif()

# BP5
if(ADIOS2_USE_BP5)
set(ADIOS2_HAVE_BP5 TRUE)
endif()

#SysV IPC
if(UNIX)
include(CheckSymbolExists)
Expand Down
1 change: 0 additions & 1 deletion scripts/ci/cmake/ci-ubuntu20.04-gcc8-static-serial.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ ADIOS2_BUILD_EXAMPLES:BOOL=OFF
ADIOS2_USE_AWSSDK:STRING=OFF
ADIOS2_USE_Blosc2:STRING=OFF
ADIOS2_USE_Blosc:BOOL=OFF
ADIOS2_USE_BP5:STRING=OFF
ADIOS2_USE_BZip2:BOOL=OFF
ADIOS2_USE_Catalyst:STRING=OFF
ADIOS2_USE_CUDA:STRING=OFF
Expand Down
51 changes: 28 additions & 23 deletions source/adios2/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,15 @@ add_library(adios2_core
engine/bp4/BP4Reader.cpp engine/bp4/BP4Reader.tcc
engine/bp4/BP4Writer.cpp engine/bp4/BP4Writer.tcc

engine/bp5/BP5Engine.cpp
engine/bp5/BP5Reader.cpp
engine/bp5/BP5Reader.tcc
engine/bp5/BP5Writer.cpp
engine/bp5/BP5Writer_EveryoneWrites_Async.cpp
engine/bp5/BP5Writer.tcc
engine/bp5/BP5Writer_TwoLevelShm_Async.cpp
engine/bp5/BP5Writer_TwoLevelShm.cpp

engine/skeleton/SkeletonReader.cpp engine/skeleton/SkeletonReader.tcc
engine/skeleton/SkeletonWriter.cpp engine/skeleton/SkeletonWriter.tcc

Expand All @@ -61,12 +70,17 @@ add_library(adios2_core

engine/plugin/PluginEngine.cpp engine/plugin/PluginEngineInterface.cpp
operator/plugin/PluginOperator.cpp operator/plugin/PluginOperatorInterface.cpp

#toolkit
toolkit/burstbuffer/FileDrainer.cpp
toolkit/burstbuffer/FileDrainerSingleThread.cpp

toolkit/format/buffer/Buffer.cpp
toolkit/format/buffer/BufferV.cpp
toolkit/format/buffer/malloc/MallocV.cpp
toolkit/format/buffer/chunk/ChunkV.cpp
toolkit/format/buffer/ffs/BufferFFS.cpp
toolkit/format/buffer/heap/BufferSTL.cpp
toolkit/format/buffer/malloc/MallocV.cpp

toolkit/format/bp/BPBase.cpp toolkit/format/bp/BPBase.tcc
toolkit/format/bp/BPSerializer.cpp toolkit/format/bp/BPSerializer.tcc
Expand All @@ -80,6 +94,11 @@ add_library(adios2_core
toolkit/format/bp/bp4/BP4Deserializer.cpp toolkit/format/bp/bp4/BP4Deserializer.tcc
toolkit/format/bp/bpBackCompatOperation/compress/BPBackCompatBlosc.cpp

toolkit/format/bp5/BP5Base.cpp
toolkit/format/bp5/BP5Deserializer.cpp
toolkit/format/bp5/BP5Deserializer.tcc
toolkit/format/bp5/BP5Serializer.cpp

toolkit/profiling/iochrono/Timer.cpp
toolkit/profiling/iochrono/IOChrono.cpp

Expand All @@ -104,9 +123,6 @@ add_library(adios2_core
toolkit/aggregator/mpi/MPIAggregator.cpp
toolkit/aggregator/mpi/MPIChain.cpp
toolkit/aggregator/mpi/MPIShmChain.cpp

toolkit/burstbuffer/FileDrainer.cpp
toolkit/burstbuffer/FileDrainerSingleThread.cpp
)
set_property(TARGET adios2_core PROPERTY EXPORT_NAME core)
set_property(TARGET adios2_core PROPERTY OUTPUT_NAME adios2${ADIOS2_LIBRARY_SUFFIX}_core)
Expand Down Expand Up @@ -145,8 +161,14 @@ target_include_directories(adios2_core
$<BUILD_INTERFACE:${ADIOS2_SOURCE_DIR}/source>
$<BUILD_INTERFACE:${ADIOS2_BINARY_DIR}/source>
)
target_link_libraries(adios2_core PRIVATE adios2sys_interface adios2::thirdparty::pugixml
adios2::thirdparty::yaml-cpp adios2::thirdparty::nlohmann_json adios2::thirdparty::perfstubs-interface)
target_link_libraries(adios2_core PRIVATE
adios2sys_interface
adios2::thirdparty::pugixml
adios2::thirdparty::yaml-cpp
adios2::thirdparty::nlohmann_json
adios2::thirdparty::perfstubs-interface
ffs::ffs
)
target_link_libraries(adios2_core PUBLIC ${CMAKE_THREAD_LIBS_INIT})
target_compile_features(adios2_core PUBLIC "$<BUILD_INTERFACE:${ADIOS2_CXX11_FEATURES}>")

Expand All @@ -165,24 +187,7 @@ if (ADIOS2_HAVE_SST)
target_link_libraries(adios2_core PRIVATE EVPath::EVPath)
add_subdirectory(toolkit/remote)
endif()

if (ADIOS2_HAVE_BP5)
target_sources(adios2_core PRIVATE
engine/bp5/BP5Engine.cpp
engine/bp5/BP5Reader.cpp engine/bp5/BP5Reader.tcc
engine/bp5/BP5Writer.cpp engine/bp5/BP5Writer.tcc engine/bp5/BP5Writer_TwoLevelShm.cpp engine/bp5/BP5Writer_TwoLevelShm_Async.cpp engine/bp5/BP5Writer_EveryoneWrites_Async.cpp
)
endif()

if (ADIOS2_HAVE_BP5 OR ADIOS2_HAVE_SST)
target_sources(adios2_core PRIVATE
toolkit/format/buffer/ffs/BufferFFS.cpp
toolkit/format/bp5/BP5Base.cpp
toolkit/format/bp5/BP5Serializer.cpp
toolkit/format/bp5/BP5Deserializer.cpp toolkit/format/bp5/BP5Deserializer.tcc
)
target_link_libraries(adios2_core PRIVATE ffs::ffs)
endif()

if(ADIOS2_HAVE_DAOS)
target_sources(adios2_core PRIVATE toolkit/transport/file/FileDaos.cpp
Expand Down
16 changes: 1 addition & 15 deletions source/adios2/core/IO.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,8 @@
#include "adios2/engine/bp3/BP3Writer.h"
#include "adios2/engine/bp4/BP4Reader.h"
#include "adios2/engine/bp4/BP4Writer.h"
#ifdef ADIOS2_HAVE_BP5
#include "adios2/engine/bp5/BP5Reader.h"
#include "adios2/engine/bp5/BP5Writer.h"
#endif
#include "adios2/engine/inline/InlineReader.h"
#include "adios2/engine/inline/InlineWriter.h"
#include "adios2/engine/mhs/MhsReader.h"
Expand Down Expand Up @@ -68,14 +66,7 @@ namespace
std::unordered_map<std::string, IO::EngineFactoryEntry> Factory = {
{"bp3", {IO::MakeEngine<engine::BP3Reader>, IO::MakeEngine<engine::BP3Writer>}},
{"bp4", {IO::MakeEngine<engine::BP4Reader>, IO::MakeEngine<engine::BP4Writer>}},
{"bp5",
#ifdef ADIOS2_HAVE_BP5
{IO::MakeEngine<engine::BP5Reader>, IO::MakeEngine<engine::BP5Writer>}
#else
IO::NoEngineEntry("ERROR: this version didn't compile with "
"BP5 library, can't use BP5 engine\n")
#endif
},
{"bp5", {IO::MakeEngine<engine::BP5Reader>, IO::MakeEngine<engine::BP5Writer>}},
{"dataman",
#ifdef ADIOS2_HAVE_DATAMAN
{IO::MakeEngine<engine::DataManReader>, IO::MakeEngine<engine::DataManWriter>}
Expand Down Expand Up @@ -576,13 +567,8 @@ Engine &IO::Open(const std::string &name, const Mode mode, helper::Comm comm)
}
else
{
#ifdef ADIOS2_HAVE_BP5
// File default for writing: BP5
engineTypeLC = "bp5";
#else
// File default for writing: BP4
engineTypeLC = "bp4";
#endif
}
}

Expand Down
2 changes: 0 additions & 2 deletions source/adios2/core/Info.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,7 @@ const char adios2_version_str[] = ADIOS2_VERSION_STR;

static const char *const engines[] = {"BP3",
"BP4",
#ifdef ADIOS2_HAVE_BP5
"BP5",
#endif
#ifdef ADIOS2_HAVE_HDF5
"HDF5",
#endif
Expand Down
106 changes: 44 additions & 62 deletions testing/adios2/engine/bp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,9 @@ macro(bp4_bp5_gtest_add_tests_helper testname mpi)
gtest_add_tests_helper(${testname} ${mpi} BP Engine.BP. .BP4
WORKING_DIRECTORY ${BP4_DIR} EXTRA_ARGS "BP4"
)

if(ADIOS2_HAVE_BP5)
gtest_add_tests_helper(${testname} ${mpi} BP Engine.BP. .BP5
WORKING_DIRECTORY ${BP5_DIR} EXTRA_ARGS "BP5"
)
endif()
gtest_add_tests_helper(${testname} ${mpi} BP Engine.BP. .BP5
WORKING_DIRECTORY ${BP5_DIR} EXTRA_ARGS "BP5"
)
endmacro()

macro(bp_gtest_add_tests_helper testname mpi)
Expand All @@ -47,29 +44,24 @@ macro(bp_gtest_add_tests_helper testname mpi)
gtest_add_tests_helper(${testname} ${mpi} BP Engine.BP. .BP4
WORKING_DIRECTORY ${BP4_DIR} EXTRA_ARGS "BP4"
)

if(ADIOS2_HAVE_BP5)
gtest_add_tests_helper(${testname} ${mpi} BP Engine.BP. .BP5
WORKING_DIRECTORY ${BP5_DIR} EXTRA_ARGS "BP5"
)
endif()
gtest_add_tests_helper(${testname} ${mpi} BP Engine.BP. .BP5
WORKING_DIRECTORY ${BP5_DIR} EXTRA_ARGS "BP5"
)
endmacro()

macro(async_gtest_add_tests_helper testname mpi)
if(ADIOS2_HAVE_BP5)
gtest_add_tests_helper(${testname} ${mpi} BP Engine.BP. .Async.BP5.TLS.Guided
WORKING_DIRECTORY ${BP5_ASYNC_DIR}/tls-guided EXTRA_ARGS "BP5" "AggregationType=TwoLevelShm,AsyncWrite=Guided"
)
gtest_add_tests_helper(${testname} ${mpi} BP Engine.BP. .Async.BP5.TLS.Naive
WORKING_DIRECTORY ${BP5_ASYNC_DIR}/tls-naive EXTRA_ARGS "BP5" "AggregationType=TwoLevelShm,AsyncWrite=Naive"
)
gtest_add_tests_helper(${testname} ${mpi} BP Engine.BP. .Async.BP5.EWS.Guided
WORKING_DIRECTORY ${BP5_ASYNC_DIR}/ews-guided EXTRA_ARGS "BP5" "AggregationType=EveryoneWritesSerial,AsyncWrite=Guided"
)
gtest_add_tests_helper(${testname} ${mpi} BP Engine.BP. .Async.BP5.EWS.Naive
WORKING_DIRECTORY ${BP5_ASYNC_DIR}/ews-naive EXTRA_ARGS "BP5" "AggregationType=EveryoneWritesSerial,AsyncWrite=Naive"
)
endif()
gtest_add_tests_helper(${testname} ${mpi} BP Engine.BP. .Async.BP5.TLS.Guided
WORKING_DIRECTORY ${BP5_ASYNC_DIR}/tls-guided EXTRA_ARGS "BP5" "AggregationType=TwoLevelShm,AsyncWrite=Guided"
)
gtest_add_tests_helper(${testname} ${mpi} BP Engine.BP. .Async.BP5.TLS.Naive
WORKING_DIRECTORY ${BP5_ASYNC_DIR}/tls-naive EXTRA_ARGS "BP5" "AggregationType=TwoLevelShm,AsyncWrite=Naive"
)
gtest_add_tests_helper(${testname} ${mpi} BP Engine.BP. .Async.BP5.EWS.Guided
WORKING_DIRECTORY ${BP5_ASYNC_DIR}/ews-guided EXTRA_ARGS "BP5" "AggregationType=EveryoneWritesSerial,AsyncWrite=Guided"
)
gtest_add_tests_helper(${testname} ${mpi} BP Engine.BP. .Async.BP5.EWS.Naive
WORKING_DIRECTORY ${BP5_ASYNC_DIR}/ews-naive EXTRA_ARGS "BP5" "AggregationType=EveryoneWritesSerial,AsyncWrite=Naive"
)
endmacro()

if(ADIOS2_HAVE_Fortran)
Expand All @@ -81,12 +73,9 @@ if(ADIOS2_HAVE_Fortran)
gtest_add_tests_helper_Fortran(${testname} ${mpi} BP Engine.BP. .BP4
${BP4_DIR} "BP4"
)

if(ADIOS2_HAVE_BP5)
gtest_add_tests_helper_Fortran(${testname} ${mpi} BP Engine.BP. .BP5
${BP5_DIR} "BP5"
)
endif()
gtest_add_tests_helper_Fortran(${testname} ${mpi} BP Engine.BP. .BP5
${BP5_DIR} "BP5"
)
endmacro()
else()
macro(bp_gtest_add_tests_helper_Fortran testname mpi)
Expand Down Expand Up @@ -115,16 +104,14 @@ bp_gtest_add_tests_helper(WriteReadVector MPI_ALLOW)
bp_gtest_add_tests_helper(WriteReadAttributesMultirank MPI_ALLOW)
bp_gtest_add_tests_helper(LargeMetadata MPI_ALLOW)

if(ADIOS2_HAVE_BP5)
set(BP5LargeMeta "Engine.BP.BPLargeMetadata.BPWrite1D_LargeMetadata.BP5.Serial")

if(ADIOS2_HAVE_MPI)
list(APPEND BP5LargeMeta "Engine.BP.BPLargeMetadata.BPWrite1D_LargeMetadata.BP5.MPI" "Engine.BP.BPLargeMetadata.ManyLongStrings.BP5.MPI")
endif()
set(BP5LargeMeta "Engine.BP.BPLargeMetadata.BPWrite1D_LargeMetadata.BP5.Serial")

set_tests_properties(${BP5LargeMeta} PROPERTIES RUN_SERIAL TRUE)
if(ADIOS2_HAVE_MPI)
list(APPEND BP5LargeMeta "Engine.BP.BPLargeMetadata.BPWrite1D_LargeMetadata.BP5.MPI" "Engine.BP.BPLargeMetadata.ManyLongStrings.BP5.MPI")
endif()

set_tests_properties(${BP5LargeMeta} PROPERTIES RUN_SERIAL TRUE)

bp_gtest_add_tests_helper(WriteMemorySelectionRead MPI_ALLOW)
bp_gtest_add_tests_helper(WriteReadLocalVariables MPI_ALLOW)
bp_gtest_add_tests_helper(WriteReadLocalVariablesSel MPI_ALLOW)
Expand Down Expand Up @@ -158,20 +145,18 @@ if(ADIOS2_HAVE_MPI)
endif()

# BP5 only for now
if(ADIOS2_HAVE_BP5)
gtest_add_tests_helper(ParameterSelectSteps MPI_ALLOW BP Engine.BP. .BP5
WORKING_DIRECTORY ${BP5_DIR} EXTRA_ARGS "BP5"
)
gtest_add_tests_helper(AppendAfterSteps MPI_ALLOW BP Engine.BP. .BP5
WORKING_DIRECTORY ${BP5_DIR} EXTRA_ARGS "BP5"
)
gtest_add_tests_helper(DirectIO MPI_NONE BP Engine.BP. .BP5
WORKING_DIRECTORY ${BP5_DIR} EXTRA_ARGS "BP5"
)
gtest_add_tests_helper(ReadMultithreaded MPI_NONE BP Engine.BP. .BP5
WORKING_DIRECTORY ${BP5_DIR} EXTRA_ARGS "BP5"
)
endif(ADIOS2_HAVE_BP5)
gtest_add_tests_helper(ParameterSelectSteps MPI_ALLOW BP Engine.BP. .BP5
WORKING_DIRECTORY ${BP5_DIR} EXTRA_ARGS "BP5"
)
gtest_add_tests_helper(AppendAfterSteps MPI_ALLOW BP Engine.BP. .BP5
WORKING_DIRECTORY ${BP5_DIR} EXTRA_ARGS "BP5"
)
gtest_add_tests_helper(DirectIO MPI_NONE BP Engine.BP. .BP5
WORKING_DIRECTORY ${BP5_DIR} EXTRA_ARGS "BP5"
)
gtest_add_tests_helper(ReadMultithreaded MPI_NONE BP Engine.BP. .BP5
WORKING_DIRECTORY ${BP5_DIR} EXTRA_ARGS "BP5"
)

# BP3 only for now
gtest_add_tests_helper(WriteNull MPI_ALLOW BP Engine.BP. .BP3
Expand Down Expand Up @@ -223,15 +208,12 @@ if(ADIOS2_HAVE_CUDA OR ADIOS2_HAVE_Kokkos_CUDA)
gtest_add_tests_helper(SelectionsCuda MPI_ALLOW BP Engine.BP. .BP4
WORKING_DIRECTORY ${BP4_DIR} EXTRA_ARGS "BP4"
)

if(ADIOS2_HAVE_BP5)
gtest_add_tests_helper(WriteReadCuda MPI_ALLOW BP Engine.BP. .BP5
WORKING_DIRECTORY ${BP5_DIR} EXTRA_ARGS "BP5"
)
gtest_add_tests_helper(SelectionsCuda MPI_ALLOW BP Engine.BP. .BP5
WORKING_DIRECTORY ${BP5_DIR} EXTRA_ARGS "BP5"
)
endif()
gtest_add_tests_helper(WriteReadCuda MPI_ALLOW BP Engine.BP. .BP5
WORKING_DIRECTORY ${BP5_DIR} EXTRA_ARGS "BP5"
)
gtest_add_tests_helper(SelectionsCuda MPI_ALLOW BP Engine.BP. .BP5
WORKING_DIRECTORY ${BP5_DIR} EXTRA_ARGS "BP5"
)

foreach(tgt ${Test.Engine.BP.WriteReadCuda-TARGETS})
target_sources(${tgt} PRIVATE operations/CudaRoutines.cu)
Expand Down
10 changes: 4 additions & 6 deletions testing/adios2/engine/common/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -43,13 +43,11 @@ if(NOT MSVC)
)
endif()

if (ADIOS2_HAVE_BP5)
gtest_add_tests_helper(Common MPI_ONLY "" Engine. .BP5
EXTRA_ARGS "BP5" "1")
endif()
gtest_add_tests_helper(Common MPI_ONLY "" Engine. .BP5
EXTRA_ARGS "BP5" "1")

gtest_add_tests_helper(Common MPI_ONLY "" Engine. .BP3
EXTRA_ARGS "BP3" "1")
gtest_add_tests_helper(Common MPI_ONLY "" Engine. .BP3
EXTRA_ARGS "BP3" "1")

#if(ADIOS2_HAVE_DataMan)
# gtest_add_tests_helper(Common MPI_ONLY "" Engine. .DataMan
Expand Down

0 comments on commit fdf4197

Please sign in to comment.