m_omptgt_allocator Module


Uses

  • module~~m_omptgt_allocator~~UsesGraph module~m_omptgt_allocator m_omptgt_allocator iso_c_binding iso_c_binding module~m_omptgt_allocator->iso_c_binding module~m_allocator m_allocator module~m_omptgt_allocator->module~m_allocator module~m_common m_common module~m_omptgt_allocator->module~m_common module~m_field m_field module~m_omptgt_allocator->module~m_field module~m_mesh m_mesh module~m_omptgt_allocator->module~m_mesh omp_lib omp_lib module~m_omptgt_allocator->omp_lib module~m_allocator->module~m_common module~m_allocator->module~m_field iso_fortran_env iso_fortran_env module~m_allocator->iso_fortran_env mpi mpi module~m_common->mpi module~m_field->module~m_common module~m_mesh->module~m_common module~m_mesh->module~m_field module~m_mesh->iso_fortran_env module~m_mesh_content m_mesh_content module~m_mesh->module~m_mesh_content module~m_mesh->mpi module~m_mesh_content->module~m_common

Used by

  • module~~m_omptgt_allocator~~UsedByGraph module~m_omptgt_allocator m_omptgt_allocator module~m_omptgt_backend m_omptgt_backend module~m_omptgt_backend->module~m_omptgt_allocator

Interfaces

public interface omptgt_allocator_t

  • private function omptgt_allocator_init(dims, sz) result(a)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: dims(3)
    integer, intent(in) :: sz

    Return Value type(omptgt_allocator_t)


Derived Types

type, public, extends(allocator_t) ::  omptgt_allocator_t

Components

Type Visibility Attributes Name Initial
integer, public :: ngrid
integer, public :: sz
integer, public :: next_id = 0

The id for the next allocated block. This counter is incremented each time a new block is allocated.

class(field_t), public, pointer :: first => null()

The pointer to the first block on the list. Non associated if the list is empty

Constructor

private function omptgt_allocator_init (dims, sz)

Type-Bound Procedures

procedure, public :: get_block
procedure, public :: release_block
procedure, public :: get_block_ids
procedure, public :: destroy
procedure, public :: get_padded_dims
procedure, public :: get_n_groups
procedure, public :: create_block => create_block_omptgt

type, public, extends(field_t) ::  omptgt_field_t

Components

Type Visibility Attributes Name Initial
class(field_t), public, pointer :: next
real(kind=dp), public, pointer, contiguous :: data(:,:,:)
integer, public :: dir
integer, public :: data_loc
integer, public :: refcount = 0
integer, public :: id

An integer identifying the memory block.

real(kind=dp), public, pointer, contiguous :: data_tgt(:,:,:) => null()

Finalizations Procedures

final :: omptgt_field_destroy

Type-Bound Procedures

procedure, public :: set_data_loc
procedure, public :: fill => fill_omptgt
procedure, public :: get_shape => get_shape_omptgt
procedure, public :: set_shape => set_shape_omptgt