Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
Derived types and interfaces | Functions/Subroutines | Variables
sll_m_compression Module Reference

Description

Module providing an F90 interface to the ZFP compression library: http://computation.llnl.gov/projects/floating-point-compression In addition it provides simple threaded (de)compression routines. Important: This module uses C-like 0-based indexing!

Author
Klaus Reuter, Max Planck Computing and Data Facility (MPCDF)

Derived types and interfaces

type  sll_t_compressed_buffer
 data structure to support threaded ZFP compression and decompression More...
 

Functions/Subroutines

subroutine deflate_buffer_real64 (buf, comp, n_doubles, n_threads)
 compress buffer More...
 
subroutine inflate_buffer_real64 (buf, comp, n_threads)
 decompress buffer More...
 
subroutine deallocate_compressed_buffer_obj (comp)
 
subroutine allocate_compressed_buffer_index_arrays (comp, n_slices)
 
subroutine print_compression_information (comp, verbose)
 
subroutine set_compression_precision (prec)
 
integer function concatenate_index_arrays (comp, array)
 allocate array, copy indices from comp into array, return More...
 
subroutine decatenate_index_arrays (comp, array)
 
double precision function get_time ()
 

Variables

integer, parameter zfp_blocksize = 64
 
integer zfp_precision = 32
 

Data Type Documentation

◆ sll_m_compression::sll_t_compressed_buffer

type sll_m_compression::sll_t_compressed_buffer

data structure to support threaded ZFP compression and decompression

Definition at line 65 of file sll_m_compression.F90.

Collaboration diagram for sll_t_compressed_buffer:
Class Members
character, dimension(:), pointer buffer
integer, dimension(:), pointer n_bytes_deflated
integer n_bytes_deflated_total
integer, dimension(:), pointer n_bytes_inflated
integer n_bytes_inflated_total
integer n_slices
integer, dimension(:), pointer offset_deflated
integer, dimension(:), pointer offset_inflated

Function/Subroutine Documentation

◆ allocate_compressed_buffer_index_arrays()

subroutine sll_m_compression::allocate_compressed_buffer_index_arrays ( type(sll_t_compressed_buffer), intent(inout)  comp,
integer, intent(in)  n_slices 
)

Definition at line 254 of file sll_m_compression.F90.

Here is the caller graph for this function:

◆ concatenate_index_arrays()

integer function sll_m_compression::concatenate_index_arrays ( type(sll_t_compressed_buffer comp,
integer, dimension(:), pointer  array 
)

allocate array, copy indices from comp into array, return

Definition at line 296 of file sll_m_compression.F90.

Here is the caller graph for this function:

◆ deallocate_compressed_buffer_obj()

subroutine sll_m_compression::deallocate_compressed_buffer_obj ( type(sll_t_compressed_buffer), intent(inout)  comp)

Definition at line 231 of file sll_m_compression.F90.

Here is the caller graph for this function:

◆ decatenate_index_arrays()

subroutine sll_m_compression::decatenate_index_arrays ( type(sll_t_compressed_buffer comp,
integer, dimension(:), pointer  array 
)

Definition at line 330 of file sll_m_compression.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ deflate_buffer_real64()

subroutine sll_m_compression::deflate_buffer_real64 ( real(kind=f64), dimension(0:), intent(in), target  buf,
type(sll_t_compressed_buffer), intent(inout)  comp,
integer, intent(in), optional  n_doubles,
integer, intent(in), optional  n_threads 
)

compress buffer

Definition at line 88 of file sll_m_compression.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_time()

double precision function sll_m_compression::get_time

Definition at line 362 of file sll_m_compression.F90.

◆ inflate_buffer_real64()

subroutine sll_m_compression::inflate_buffer_real64 ( real(kind=f64), dimension(0:), intent(inout), target  buf,
type(sll_t_compressed_buffer), intent(inout)  comp,
integer, intent(in), optional  n_threads 
)

decompress buffer

Definition at line 180 of file sll_m_compression.F90.

Here is the caller graph for this function:

◆ print_compression_information()

subroutine sll_m_compression::print_compression_information ( type(sll_t_compressed_buffer), intent(in)  comp,
logical, intent(in), optional  verbose 
)

Definition at line 265 of file sll_m_compression.F90.

Here is the caller graph for this function:

◆ set_compression_precision()

subroutine sll_m_compression::set_compression_precision ( integer, intent(in)  prec)

Definition at line 289 of file sll_m_compression.F90.

Here is the caller graph for this function:

Variable Documentation

◆ zfp_blocksize

integer, parameter zfp_blocksize = 64

Definition at line 61 of file sll_m_compression.F90.

◆ zfp_precision

integer zfp_precision = 32

Definition at line 62 of file sll_m_compression.F90.

    Report Typos and Errors