Compression/Decompression

The following section describes oneDTL ZFP compression and decompression main functions.

Encode

encode function must be provided to perform encoding of the zfp_field to zfp_compressed_stream

template<typename DataT, std::uint32_t Dimension>
sycl::event oneapi::dtl::data_compression::encode(sycl::queue &queue, zfp_field<DataT, Dimension> &source, zfp_compressed_stream<DataT, Dimension> &stream)

Encodes field to stream.

Template Parameters
  • DataT – field data type (supported types: float)

  • Dimension – field dimension (supported value: 3)

Parameters
  • queue – SYCL queue object to make encode

  • source – input field

  • stream – compressed stream

Returns

SYCL event

Decode

decode function must be provided to perform decoding of the zfp_compressed_stream to zfp_field

template<typename DataT, std::uint32_t Dimension>
sycl::event oneapi::dtl::data_compression::decode(sycl::queue &queue, zfp_compressed_stream<DataT, Dimension> &stream, zfp_field<DataT, Dimension> &destination)

Decodes stream to field.

Template Parameters
  • DataT – field data type (supported types: float)

  • Dimension – field dimension (supported value: 3)

Parameters
  • queue – SYCL queue object to make decode

  • stream – compressed stream

  • destination – output field

Returns

SYCL event