Abstract base class for compression implementations
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer(kind=int8), | public | :: | ndims |
Number of dimensions |
|||
| integer(kind=int64), | public | :: | storage_size |
Size of storage per element |
|||
| real(kind=real64), | public | :: | compressed_rate |
Accumulated compression rate |
|||
| integer(kind=int64), | public | :: | execution_count |
Number of compression executions |
|||
| integer(kind=int32), | public | :: | dims_permutation |
Dimension permutation flag |
Initializes the compressor with given parameters
Initializes the compressor with given parameters
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(abstract_compressor), | intent(inout) | :: | self |
Compressor instance |
||
| integer(kind=int8), | intent(in) | :: | ndims |
Number of dimensions |
||
| type(dtfft_compression_config_t), | intent(in) | :: | config |
Compression configuration |
||
| type(dtfft_platform_t), | intent(in) | :: | platform |
Target platform |
||
| type(MPI_Datatype), | intent(in) | :: | base_type |
MPI data type |
||
| integer(kind=int64), | intent(in) | :: | storage_size |
Storage size per element |
||
| integer(kind=int32), | intent(in) | :: | dims_permutation |
Dimension permutation flag |
Compresses the input data and returns the compressed size
Compresses the input data and returns the compressed size
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(abstract_compressor), | intent(inout) | :: | self |
Compressor instance |
||
| integer(kind=int32), | intent(in) | :: | dims(:) |
Array dimensions |
||
| integer(kind=int32), | intent(in) | :: | displ |
Displacement in arrays |
||
| type(c_ptr), | intent(in) | :: | in |
Pointer to uncompressed data |
||
| type(c_ptr), | intent(in) | :: | out |
Pointer to compressed buffer |
||
| type(dtfft_stream_t), | intent(in) | :: | stream |
Stream handle |
Decompresses the input data into the output buffer
Decompresses the input data into the output buffer
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(abstract_compressor), | intent(inout) | :: | self |
Compressor instance |
||
| integer(kind=int32), | intent(in) | :: | dims(:) |
Array dimensions |
||
| integer(kind=int32), | intent(in) | :: | displ |
Displacement in arrays |
||
| type(c_ptr), | intent(in) | :: | in |
Pointer to compressed data |
||
| type(c_ptr), | intent(in) | :: | out |
Pointer to uncompressed buffer |
||
| type(dtfft_stream_t), | intent(in) | :: | stream |
Stream handle |
Returns the average compression rate over all executions
Returns the average compression rate over all executions
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(abstract_compressor), | intent(in) | :: | self |
Compressor instance |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(abstract_compressor), | intent(inout) | :: | self |
Abstract kernel |
||
| type(dtfft_stream_t), | intent(in) | :: | stream |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(abstract_compressor), | intent(inout) | :: | self |
Abstract kernel |
||
| type(dtfft_stream_t), | intent(in) | :: | stream |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(abstract_compressor), | intent(inout) | :: | self |
Abstract kernel |
||
| type(dtfft_stream_t), | intent(in) | :: | stream |
Creates the compressor implementation
Creates the compressor implementation
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(abstract_compressor), | intent(inout) | :: | self |
Compressor instance |
||
| type(dtfft_compression_config_t), | intent(in) | :: | config |
Compression configuration |
||
| type(dtfft_platform_t), | intent(in) | :: | platform |
Target platform |
||
| type(MPI_Datatype), | intent(in) | :: | base_type |
MPI data type |
Performs compression using the implementation
Performs compression using the implementation
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(abstract_compressor), | intent(inout) | :: | self |
Compressor instance |
||
| integer(kind=int32), | intent(in) | :: | dims(:) |
Array dimensions |
||
| type(c_ptr), | intent(in) | :: | in |
Pointer to uncompressed data |
||
| type(c_ptr), | intent(in) | :: | out |
Pointer to compressed buffer |
||
| type(dtfft_stream_t), | intent(in) | :: | stream |
Stream handle |
Performs decompression using the implementation
Performs decompression using the implementation
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(abstract_compressor), | intent(inout) | :: | self |
Compressor instance |
||
| integer(kind=int32), | intent(in) | :: | dims(:) |
Array dimensions |
||
| type(c_ptr), | intent(in) | :: | in |
Pointer to compressed data |
||
| type(c_ptr), | intent(in) | :: | out |
Pointer to uncompressed buffer |
||
| type(dtfft_stream_t), | intent(in) | :: | stream |
Stream handle |
Destroys the compressor implementation
Destroys the compressor implementation
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(abstract_compressor), | intent(inout) | :: | self |
Compressor instance |