Skip to content

Commit

Permalink
Refactor Blosc operator to use c-blosc2
Browse files Browse the repository at this point in the history
  • Loading branch information
lizdulac committed Jan 23, 2023
1 parent d57dc1f commit 0de861e
Show file tree
Hide file tree
Showing 17 changed files with 135 additions and 872 deletions.
5 changes: 3 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,6 @@ endif()

include(CTest)

adios_option(Blosc "Enable support for Blosc transforms" AUTO)
adios_option(Blosc2 "Enable support for c-blosc-2 transforms" AUTO)
adios_option(BZip2 "Enable support for BZip2 transforms" AUTO)
adios_option(ZFP "Enable support for ZFP transforms" AUTO)
Expand Down Expand Up @@ -225,7 +224,9 @@ endif()


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

GenerateADIOSHeaderConfig(${ADIOS2_CONFIG_OPTS})
Expand Down
10 changes: 0 additions & 10 deletions cmake/DetectOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -67,16 +67,6 @@ function(lists_get_prefix listVars outVar)
set(${outVar} "${prefix}" PARENT_SCOPE)
endfunction()

# Blosc
if(ADIOS2_USE_Blosc STREQUAL AUTO)
find_package(Blosc 1.7)
elseif(ADIOS2_USE_Blosc)
find_package(Blosc 1.7 REQUIRED)
endif()
if(BLOSC_FOUND)
set(ADIOS2_HAVE_Blosc TRUE)
endif()

# Blosc2
if(ADIOS2_USE_Blosc2 STREQUAL AUTO)
find_package(Blosc2 2.4)
Expand Down
93 changes: 0 additions & 93 deletions cmake/FindBlosc.cmake

This file was deleted.

5 changes: 0 additions & 5 deletions cmake/adios2-config-common.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -76,11 +76,6 @@ else()
endif()

if(NOT @BUILD_SHARED_LIBS@)
set(ADIOS2_HAVE_Blosc @ADIOS2_HAVE_Blosc@)
if(ADIOS2_HAVE_Blosc)
find_dependency(Blosc)
endif()

set(ADIOS2_HAVE_Blosc2 @ADIOS2_HAVE_Blosc2@)
if(ADIOS2_HAVE_Blosc2)
find_dependency(Blosc2)
Expand Down
7 changes: 1 addition & 6 deletions source/adios2/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -239,13 +239,8 @@ if(ADIOS2_HAVE_DataSpaces)
target_link_libraries(adios2_core_mpi PRIVATE DataSpaces::DataSpaces)
endif()

if(ADIOS2_HAVE_Blosc)
target_sources(adios2_core PRIVATE operator/compress/CompressBlosc.cpp)
target_link_libraries(adios2_core PRIVATE Blosc::Blosc)
endif()

if(ADIOS2_HAVE_Blosc2)
target_sources(adios2_core PRIVATE operator/compress/CompressBlosc2.cpp)
target_sources(adios2_core PRIVATE operator/compress/CompressBlosc.cpp)
target_link_libraries(adios2_core PRIVATE Blosc2::Blosc2)
endif()

Expand Down
52 changes: 2 additions & 50 deletions source/adios2/common/ADIOSTypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -480,8 +480,8 @@ constexpr char blockSize100k_9[] = "9";
} // end namespace bzip2
#endif

// BBlosc PARAMETERS
#ifdef ADIOS2_HAVE_BLOSC
// Blosc PARAMETERS
#ifdef ADIOS2_HAVE_BLOSC2

constexpr char LosslessBlosc[] = "blosc";
namespace blosc
Expand Down Expand Up @@ -528,54 +528,6 @@ constexpr char doshuffle_bitshuffle[] = "BLOSC_BITSHUFFLE";

#endif

// Blosc2 PARAMETERS
#ifdef ADIOS2_HAVE_BLOSC2

constexpr char LosslessBlosc2[] = "blosc2";
namespace blosc2
{

namespace key
{
constexpr char nthreads[] = "nthreads";
constexpr char compressor[] = "compressor";
constexpr char clevel[] = "clevel";
constexpr char doshuffle[] = "doshuffle";
constexpr char blocksize[] = "blocksize";
constexpr char threshold[] = "threshold";
}

namespace value
{

constexpr char compressor_blosclz[] = "blosclz";
constexpr char compressor_lz4[] = "lz4";
constexpr char compressor_lz4hc[] = "lz4hc";
constexpr char compressor_snappy[] = "snappy";
constexpr char compressor_zlib[] = "zlib";
constexpr char compressor_zstd[] = "zstd";

constexpr char clevel_0[] = "0";
constexpr char clevel_1[] = "1";
constexpr char clevel_2[] = "2";
constexpr char clevel_3[] = "3";
constexpr char clevel_4[] = "4";
constexpr char clevel_5[] = "5";
constexpr char clevel_6[] = "6";
constexpr char clevel_7[] = "7";
constexpr char clevel_8[] = "8";
constexpr char clevel_9[] = "9";

constexpr char doshuffle_shuffle[] = "BLOSC_SHUFFLE";
constexpr char doshuffle_noshuffle[] = "BLOSC_NOSHUFFLE";
constexpr char doshuffle_bitshuffle[] = "BLOSC_BITSHUFFLE";

} // end namespace value

} // end namespace blosc2

#endif

} // end namespace ops

} // end namespace adios2
Expand Down
1 change: 0 additions & 1 deletion source/adios2/core/Operator.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ class Operator
COMPRESS_SZ = 6,
COMPRESS_ZFP = 7,
COMPRESS_MGARDPLUS = 8,
COMPRESS_BLOSC2 = 9,
CALLBACK_SIGNATURE1 = 51,
CALLBACK_SIGNATURE2 = 52,
PLUGIN_INTERFACE = 53,
Expand Down
16 changes: 2 additions & 14 deletions source/adios2/operator/OperatorFactory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,8 @@
#include "adios2/operator/plugin/PluginOperator.h"
#include <numeric>

#ifdef ADIOS2_HAVE_BLOSC
#include "adios2/operator/compress/CompressBlosc.h"
#endif

#ifdef ADIOS2_HAVE_BLOSC2
#include "adios2/operator/compress/CompressBlosc2.h"
#include "adios2/operator/compress/CompressBlosc.h"
#endif

#ifdef ADIOS2_HAVE_BZIP2
Expand Down Expand Up @@ -80,8 +76,6 @@ std::string OperatorTypeToString(const Operator::OperatorType type)
return "zfp";
case Operator::PLUGIN_INTERFACE:
return "plugin";
case Operator::COMPRESS_BLOSC2:
return "blosc2";
default:
return "null";
}
Expand All @@ -96,7 +90,7 @@ std::shared_ptr<Operator> MakeOperator(const std::string &type,

if (typeLowerCase == "blosc")
{
#ifdef ADIOS2_HAVE_BLOSC
#ifdef ADIOS2_HAVE_BLOSC2
ret = std::make_shared<compress::CompressBlosc>(parameters);
#endif
}
Expand Down Expand Up @@ -152,12 +146,6 @@ std::shared_ptr<Operator> MakeOperator(const std::string &type,
{
ret = std::make_shared<plugin::PluginOperator>(parameters);
}
else if (typeLowerCase == "blosc2")
{
#ifdef ADIOS2_HAVE_BLOSC2
ret = std::make_shared<compress::CompressBlosc2>(parameters);
#endif
}
else if (typeLowerCase == "null")
{
ret = std::make_shared<compress::CompressNull>(parameters);
Expand Down
Loading

0 comments on commit 0de861e

Please sign in to comment.