Skip to content

Commit

Permalink
Merge pull request #3932 from pnorbert/campaign-manager
Browse files Browse the repository at this point in the history
Campaign manager
  • Loading branch information
pnorbert committed Dec 15, 2023
2 parents 83879eb + 4f7367a commit 7ed3763
Show file tree
Hide file tree
Showing 32 changed files with 2,231 additions and 51 deletions.
8 changes: 5 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# accompanying file Copyright.txt for details.
#------------------------------------------------------------------------------#

cmake_minimum_required(VERSION 3.12)
cmake_minimum_required(VERSION 3.14)

# Fail immediately if not using an out-of-source build
if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)
Expand Down Expand Up @@ -183,6 +183,7 @@ adios_option(Profiling "Enable support for profiling" AUTO)
adios_option(Endian_Reverse "Enable support for Little/Big Endian Interoperability" AUTO)
adios_option(Sodium "Enable support for Sodium for encryption" AUTO)
adios_option(Catalyst "Enable support for in situ visualization plugin using ParaView Catalyst" AUTO)
adios_option(Campaign "Enable support for Campaigns (requires SQLite3 and ZLIB)" OFF)
adios_option(AWSSDK "Enable support for S3 compatible storage using AWS SDK's S3 module" OFF)
adios_option(Derived_Variable "Enable support for derived variables" OFF)
adios_option(PIP "Enable support for pip packaging" OFF)
Expand Down Expand Up @@ -260,7 +261,7 @@ set(ADIOS2_CONFIG_OPTS
DataMan DataSpaces HDF5 HDF5_VOL MHS SST Fortran MPI Python PIP Blosc2 BZip2
LIBPRESSIO MGARD MGARD_MDR PNG SZ ZFP DAOS IME O_DIRECT Sodium Catalyst SysVShMem UCX
ZeroMQ Profiling Endian_Reverse Derived_Variable AWSSDK GPU_Support CUDA Kokkos
Kokkos_CUDA Kokkos_HIP Kokkos_SYCL
Kokkos_CUDA Kokkos_HIP Kokkos_SYCL Campaign
)

GenerateADIOSHeaderConfig(${ADIOS2_CONFIG_OPTS})
Expand Down Expand Up @@ -426,7 +427,7 @@ message(" Examples: ${ADIOS2_BUILD_EXAMPLES}")
message(" Build Options:")

foreach(opt IN LISTS ADIOS2_CONFIG_OPTS)
message_pad(" ${opt}" 16 label)
message_pad(" ${opt}" 25 label)
if(${ADIOS2_HAVE_${opt}})
message("${label}: ON")
else()
Expand All @@ -439,3 +440,4 @@ message(" RDMA Transport for Staging: Available")
else()
message(" RDMA Transport for Staging: Unconfigured")
endif()

24 changes: 24 additions & 0 deletions cmake/DetectOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -576,6 +576,30 @@ if(AWSSDK_FOUND)
set(ADIOS2_HAVE_AWSSDK TRUE)
endif()

# Campaign Management
if(ADIOS2_USE_Campaign STREQUAL AUTO)
find_package(SQLite3)
if (SQLite3_FOUND)
find_package(ZLIB)
endif()
if (SQLite3_FOUND AND ZLIB_FOUND)
message(STATUS "Sqlite3 and ZLIB found. Turn on Campaign Management")
set(ADIOS2_HAVE_Campaign TRUE)
endif()
elseif(ADIOS2_USE_Campaign)
find_package(SQLite3 REQUIRED)
if (SQLite3_FOUND)
find_package(ZLIB REQUIRED)
endif()
if (SQLite3_FOUND AND ZLIB_FOUND)
message(STATUS "Sqlite3 and ZLIB found. Turn on Campaign Management")
set(ADIOS2_HAVE_Campaign TRUE)
endif()
endif()

# Multithreading
find_package(Threads REQUIRED)

# Floating point detection
include(CheckTypeRepresentation)

Expand Down
1 change: 1 addition & 0 deletions examples/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ add_subdirectory(hello)
add_subdirectory(plugins)
add_subdirectory(simulations)
add_subdirectory(useCases)
add_subdirectory(campaign)
9 changes: 9 additions & 0 deletions examples/campaign/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#------------------------------------------------------------------------------#
# Distributed under the OSI-approved Apache License, Version 2.0. See
# accompanying file Copyright.txt for details.
#------------------------------------------------------------------------------#

if(ADIOS2_HAVE_MPI)
add_executable(adios2_campaign_write_mpi campaign_write.cpp)
target_link_libraries(adios2_campaign_write_mpi adios2::cxx11_mpi adios2_core MPI::MPI_C)
endif()

0 comments on commit 7ed3763

Please sign in to comment.