Neko 1.99.9
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
checkpoint_payload Module Reference

Format-independent checkpoint payloads.

Data Types

type  checkpoint_array_ptr_t
 Pointer wrapper around checkpoint_array_t. More...
 
type  checkpoint_array_t
 A named real array and its selection in a global checkpoint dataset. More...
 
type  checkpoint_mesh_array_ptr_t
 Pointer wrapper around checkpoint_mesh_array_t. More...
 
type  checkpoint_mesh_array_t
 A named nodal real array distributed over mesh elements. More...
 
type  checkpoint_payload_ptr_t
 Pointer wrapper used to keep payload addresses stable as the list grows. More...
 
type  checkpoint_payload_t
 A named collection of live fields to checkpoint together. More...
 

Functions/Subroutines

subroutine checkpoint_payload_init (this, name)
 Initialize a payload.
 
subroutine checkpoint_payload_free (this)
 Release all pointers held by a payload.
 
subroutine checkpoint_payload_add_field (this, fld)
 Add a field using its native name as the dataset name.
 
subroutine checkpoint_payload_add_series (this, fld_series)
 Add a field series using the native names of its lag fields.
 
subroutine add_array_1d (this, name, x, global_count, offset, device_ptr, replicated)
 Add a rank-one real array.
 
subroutine add_array_2d (this, name, x, global_count, offset, device_ptr, replicated)
 Add a rank-two contiguous real array.
 
subroutine add_array_3d (this, name, x, global_count, offset, device_ptr, replicated)
 Add a rank-three contiguous real array.
 
subroutine add_array_4d (this, name, x, global_count, offset, device_ptr, replicated)
 Add a rank-four contiguous real array.
 
subroutine add_mesh_array_4d (this, name, x, msh, xh, device_ptr)
 Add a four-dimensional nodal mesh array.
 
subroutine checkpoint_payload_add_array (this, name, x, global_count, offset, device_ptr, replicated)
 Store a flattened real array in a payload.
 
subroutine checkpoint_payload_add_array_dp (this, name, x, global_count, offset, replicated)
 Store a rank-one double-precision array in a payload.
 
subroutine checkpoint_payload_add_mesh_array (this, name, x, msh, xh, device_ptr)
 Store a flattened nodal mesh array in a payload.
 
subroutine checkpoint_payload_validate_name (this, name)
 Validate that a dataset name is non-empty and unique in a payload.
 
pure integer function checkpoint_payload_field_count (this)
 Return the number of fields in a payload.
 
pure integer function checkpoint_payload_series_count (this)
 Return the number of field series in a payload.
 
pure integer function checkpoint_payload_array_count (this)
 Return the number of arrays in a payload.
 
pure integer function checkpoint_payload_mesh_array_count (this)
 Return the number of mesh arrays in a payload.
 
type(field_t) function, pointer checkpoint_payload_find_field (this, name)
 Find a field by its native name.
 
type(field_series_t) function, pointer checkpoint_payload_find_series (this, name)
 Find a field series by the native name of its base field.
 
type(checkpoint_array_t) function, pointer checkpoint_payload_find_array (this, name)
 Find an array descriptor by dataset name.
 
type(checkpoint_mesh_array_t) function, pointer checkpoint_payload_find_mesh_array (this, name)
 Find a mesh-array descriptor by dataset name.
 

Function/Subroutine Documentation

◆ add_array_1d()

subroutine checkpoint_payload::add_array_1d ( class(checkpoint_payload_t), intent(inout)  this,
character(len=*), intent(in)  name,
real(kind=rp), dimension(:), intent(inout), target  x,
integer(kind=i8), intent(in), optional  global_count,
integer(kind=i8), intent(in), optional  offset,
type(c_ptr), intent(in), optional  device_ptr,
logical, intent(in), optional  replicated 
)
private
Parameters
nameDataset name within the payload.
xContiguous local array storage.
[optional]global_count Number of entries in the global dataset.
[optional]offset Zero-based offset of x in the global dataset.
[optional]device_ptr Device storage corresponding to x.
[optional]replicated Whether every rank owns a copy of x.

Definition at line 310 of file checkpoint_payload.f90.

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

◆ add_array_2d()

subroutine checkpoint_payload::add_array_2d ( class(checkpoint_payload_t), intent(inout)  this,
character(len=*), intent(in)  name,
real(kind=rp), dimension(:,:), intent(inout), target  x,
integer(kind=i8), intent(in), optional  global_count,
integer(kind=i8), intent(in), optional  offset,
type(c_ptr), intent(in), optional  device_ptr,
logical, intent(in), optional  replicated 
)
private
Parameters
nameDataset name within the payload.
xContiguous local array storage.
[optional]global_count Number of entries in the global dataset.
[optional]offset Zero-based offset of x in the global dataset.
[optional]device_ptr Device storage corresponding to x.
[optional]replicated Whether every rank owns a copy of x.

Definition at line 337 of file checkpoint_payload.f90.

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

◆ add_array_3d()

subroutine checkpoint_payload::add_array_3d ( class(checkpoint_payload_t), intent(inout)  this,
character(len=*), intent(in)  name,
real(kind=rp), dimension(:,:,:), intent(inout), target  x,
integer(kind=i8), intent(in), optional  global_count,
integer(kind=i8), intent(in), optional  offset,
type(c_ptr), intent(in), optional  device_ptr,
logical, intent(in), optional  replicated 
)
private
Parameters
nameDataset name within the payload.
xContiguous local array storage.
[optional]global_count Number of entries in the global dataset.
[optional]offset Zero-based offset of x in the global dataset.
[optional]device_ptr Device storage corresponding to x.
[optional]replicated Whether every rank owns a copy of x.

Definition at line 364 of file checkpoint_payload.f90.

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

◆ add_array_4d()

subroutine checkpoint_payload::add_array_4d ( class(checkpoint_payload_t), intent(inout)  this,
character(len=*), intent(in)  name,
real(kind=rp), dimension(:,:,:,:), intent(inout), target  x,
integer(kind=i8), intent(in), optional  global_count,
integer(kind=i8), intent(in), optional  offset,
type(c_ptr), intent(in), optional  device_ptr,
logical, intent(in), optional  replicated 
)
private
Parameters
nameDataset name within the payload.
xContiguous local array storage.
[optional]global_count Number of entries in the global dataset.
[optional]offset Zero-based offset of x in the global dataset.
[optional]device_ptr Device storage corresponding to x.
[optional]replicated Whether every rank owns a copy of x.

Definition at line 391 of file checkpoint_payload.f90.

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

◆ add_mesh_array_4d()

subroutine checkpoint_payload::add_mesh_array_4d ( class(checkpoint_payload_t), intent(inout)  this,
character(len=*), intent(in)  name,
real(kind=rp), dimension(:,:,:,:), intent(inout), target  x,
type(mesh_t), intent(in), target  msh,
type(space_t), intent(in), target  xh,
type(c_ptr), intent(in), optional  device_ptr 
)
private
Parameters
nameDataset name within the payload.
xArray shaped as (lx, ly, lz, nelv).
mshMesh defining the element distribution.
XhFunction space defining the element-local nodal layout.
[optional]device_ptr Device storage corresponding to x.

Definition at line 417 of file checkpoint_payload.f90.

Here is the call graph for this function:

◆ checkpoint_payload_add_array()

subroutine checkpoint_payload::checkpoint_payload_add_array ( class(checkpoint_payload_t), intent(inout)  this,
character(len=*), intent(in)  name,
real(kind=rp), dimension(:), intent(inout), pointer  x,
integer(kind=i8), intent(in), optional  global_count,
integer(kind=i8), intent(in), optional  offset,
type(c_ptr), intent(in), optional  device_ptr,
logical, intent(in), optional  replicated 
)
private
Parameters
nameDataset name within the payload.
xContiguous local array storage.
[optional]global_count Number of entries in the global dataset.
[optional]offset Zero-based offset of x in the global dataset.
[optional]device_ptr Device storage corresponding to x.
[optional]replicated Whether every rank owns a copy of x.

Definition at line 447 of file checkpoint_payload.f90.

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

◆ checkpoint_payload_add_array_dp()

subroutine checkpoint_payload::checkpoint_payload_add_array_dp ( class(checkpoint_payload_t), intent(inout)  this,
character(len=*), intent(in)  name,
real(kind=dp), dimension(:), intent(inout), target, contiguous  x,
integer(kind=i8), intent(in), optional  global_count,
integer(kind=i8), intent(in), optional  offset,
logical, intent(in), optional  replicated 
)
private
Parameters
nameDataset name within the payload.
xContiguous local array storage.
[optional]global_count Number of entries in the global dataset.
[optional]offset Zero-based offset of x in the global dataset.
[optional]replicated Whether every rank owns a copy of x.

Definition at line 505 of file checkpoint_payload.f90.

Here is the call graph for this function:

◆ checkpoint_payload_add_field()

subroutine checkpoint_payload::checkpoint_payload_add_field ( class(checkpoint_payload_t), intent(inout)  this,
type(field_t), intent(in), target  fld 
)
private
Parameters
fldField to register.

Definition at line 236 of file checkpoint_payload.f90.

Here is the call graph for this function:

◆ checkpoint_payload_add_mesh_array()

subroutine checkpoint_payload::checkpoint_payload_add_mesh_array ( class(checkpoint_payload_t), intent(inout)  this,
character(len=*), intent(in)  name,
real(kind=rp), dimension(:), intent(inout), pointer  x,
type(mesh_t), intent(in), target  msh,
type(space_t), intent(in), target  xh,
type(c_ptr), intent(in), optional  device_ptr 
)
private
Parameters
nameDataset name within the payload.
xContiguous local array storage.
mshMesh defining the element distribution.
XhFunction space defining the element-local nodal layout.
[optional]device_ptr Device storage corresponding to x.

Definition at line 561 of file checkpoint_payload.f90.

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

◆ checkpoint_payload_add_series()

subroutine checkpoint_payload::checkpoint_payload_add_series ( class(checkpoint_payload_t), intent(inout)  this,
type(field_series_t), intent(in), target  fld_series 
)
private
Parameters
fld_seriesField series to register.

Definition at line 262 of file checkpoint_payload.f90.

Here is the call graph for this function:

◆ checkpoint_payload_array_count()

pure integer function checkpoint_payload::checkpoint_payload_array_count ( class(checkpoint_payload_t), intent(in)  this)
private
Returns
Number of registered arrays.

Definition at line 669 of file checkpoint_payload.f90.

◆ checkpoint_payload_field_count()

pure integer function checkpoint_payload::checkpoint_payload_field_count ( class(checkpoint_payload_t), intent(in)  this)
private
Returns
Number of registered fields.

Definition at line 641 of file checkpoint_payload.f90.

◆ checkpoint_payload_find_array()

type(checkpoint_array_t) function, pointer checkpoint_payload::checkpoint_payload_find_array ( class(checkpoint_payload_t), intent(in)  this,
character(len=*), intent(in)  name 
)
private
Parameters
nameDataset name to find.
Returns
Pointer to the descriptor, or a disassociated pointer if absent.

Definition at line 736 of file checkpoint_payload.f90.

◆ checkpoint_payload_find_field()

type(field_t) function, pointer checkpoint_payload::checkpoint_payload_find_field ( class(checkpoint_payload_t), intent(in)  this,
character(len=*), intent(in)  name 
)
private
Parameters
nameNative field name to find.
Returns
Pointer to the field, or a disassociated pointer if absent.

Definition at line 698 of file checkpoint_payload.f90.

◆ checkpoint_payload_find_mesh_array()

type(checkpoint_mesh_array_t) function, pointer checkpoint_payload::checkpoint_payload_find_mesh_array ( class(checkpoint_payload_t), intent(in)  this,
character(len=*), intent(in)  name 
)
private
Parameters
nameDataset name to find.
Returns
Pointer to the descriptor, or a disassociated pointer if absent.

Definition at line 755 of file checkpoint_payload.f90.

◆ checkpoint_payload_find_series()

type(field_series_t) function, pointer checkpoint_payload::checkpoint_payload_find_series ( class(checkpoint_payload_t), intent(in)  this,
character(len=*), intent(in)  name 
)
private
Parameters
nameNative base-field name to find.
Returns
Pointer to the series, or a disassociated pointer if absent.

Definition at line 717 of file checkpoint_payload.f90.

◆ checkpoint_payload_free()

subroutine checkpoint_payload::checkpoint_payload_free ( class(checkpoint_payload_t), intent(inout)  this)
private

Definition at line 181 of file checkpoint_payload.f90.

◆ checkpoint_payload_init()

subroutine checkpoint_payload::checkpoint_payload_init ( class(checkpoint_payload_t), intent(inout)  this,
character(len=*), intent(in)  name 
)
Parameters
namePayload path below the HDF5 Payloads group.

Definition at line 159 of file checkpoint_payload.f90.

◆ checkpoint_payload_mesh_array_count()

pure integer function checkpoint_payload::checkpoint_payload_mesh_array_count ( class(checkpoint_payload_t), intent(in)  this)
private
Returns
Number of registered mesh arrays.

Definition at line 683 of file checkpoint_payload.f90.

◆ checkpoint_payload_series_count()

pure integer function checkpoint_payload::checkpoint_payload_series_count ( class(checkpoint_payload_t), intent(in)  this)
private
Returns
Number of registered field series.

Definition at line 655 of file checkpoint_payload.f90.

◆ checkpoint_payload_validate_name()

subroutine checkpoint_payload::checkpoint_payload_validate_name ( class(checkpoint_payload_t), intent(in)  this,
character(len=*), intent(in)  name 
)
private
Parameters
nameDataset name to validate.

Definition at line 595 of file checkpoint_payload.f90.

Here is the caller graph for this function: