backend_setup_t Derived Type

type, public :: backend_setup_t

Owns the backend and allocators. The pointer components alias concrete members of this same object, so instances must be declared with the TARGET attribute and must never be copied or assigned.


Inherits

type~~backend_setup_t~~InheritsGraph type~backend_setup_t backend_setup_t type~allocator_t allocator_t type~backend_setup_t->type~allocator_t allocator, host_allocator, omp_allocator type~base_backend_t base_backend_t type~backend_setup_t->type~base_backend_t backend type~cuda_allocator_t cuda_allocator_t type~backend_setup_t->type~cuda_allocator_t cuda_allocator type~cuda_backend_t cuda_backend_t type~backend_setup_t->type~cuda_backend_t cuda_backend type~omp_backend_t omp_backend_t type~backend_setup_t->type~omp_backend_t omp_backend type~omptgt_allocator_t omptgt_allocator_t type~backend_setup_t->type~omptgt_allocator_t omptgt_allocator type~omptgt_backend_t omptgt_backend_t type~backend_setup_t->type~omptgt_backend_t omptgt_backend type~field_t field_t type~allocator_t->type~field_t first type~base_backend_t->type~allocator_t allocator type~mesh_t mesh_t type~base_backend_t->type~mesh_t mesh type~poisson_fft_t poisson_fft_t type~base_backend_t->type~poisson_fft_t poisson_fft type~cuda_allocator_t->type~allocator_t type~cuda_backend_t->type~base_backend_t dim3 dim3 type~cuda_backend_t->dim3 xblocks, xthreads, yblocks, ythreads, zblocks, zthreads type~omp_backend_t->type~base_backend_t type~omptgt_allocator_t->type~allocator_t type~omptgt_backend_t->type~base_backend_t type~field_t->type~field_t next type~geo_t geo_t type~mesh_t->type~geo_t geo type~grid_t grid_t type~mesh_t->type~grid_t grid type~par_t par_t type~mesh_t->type~par_t par type~poisson_fft_t->type~mesh_t mesh

Components

Type Visibility Attributes Name Initial
class(base_backend_t), public, pointer :: backend => null()
class(allocator_t), public, pointer :: allocator => null()
type(allocator_t), public, pointer :: host_allocator => null()
type(cuda_backend_t), public :: cuda_backend
type(cuda_allocator_t), public :: cuda_allocator
type(omptgt_backend_t), public :: omptgt_backend
type(omptgt_allocator_t), public :: omptgt_allocator
type(omp_backend_t), public :: omp_backend
type(allocator_t), public :: omp_allocator

Type-Bound Procedures

procedure, public :: init

  • private subroutine init(self, mesh)

    Arguments

    Type IntentOptional Attributes Name
    class(backend_setup_t), intent(inout), target :: self
    type(mesh_t), intent(inout), target :: mesh