dbcsr_data_types Module

Types related to DBCSR data area



Variables

Type Visibility Attributes Name Initial
character(len=*), private, parameter :: moduleN = 'dbcsr_data_types'
type(dbcsr_memtype_type), public, parameter :: dbcsr_memtype_default = dbcsr_memtype_type(pool=Null())
integer, public, parameter :: dbcsr_type_real_4 = 1
integer, public, parameter :: dbcsr_type_real_8 = 3
integer, public, parameter :: dbcsr_type_complex_4 = 5
integer, public, parameter :: dbcsr_type_complex_8 = 7
integer, public, parameter :: dbcsr_type_real_4_2d = 9
integer, public, parameter :: dbcsr_type_real_8_2d = 11
integer, public, parameter :: dbcsr_type_complex_4_2d = 13
integer, public, parameter :: dbcsr_type_complex_8_2d = 15
integer, public, parameter :: dbcsr_type_int_4 = 17
integer, public, parameter :: dbcsr_type_int_8 = 19
integer, public, parameter :: dbcsr_type_real_default = dbcsr_type_real_8
integer, public, parameter :: dbcsr_type_complex_default = dbcsr_type_complex_8

Derived Types

type, public ::  dbcsr_scalar_type

Stores a scalar in any of the supported data types.

Read more…

Components

Type Visibility Attributes Name Initial
real(kind=real_4), public :: r_sp

stores real values in single precision

real(kind=real_8), public :: r_dp

stores real values in double precision

complex(kind=real_4), public :: c_sp

stores complex values in single precision

complex(kind=real_8), public :: c_dp

stores complex values in double precision

integer, public :: data_type

which of the data types is actually used

type, public ::  dbcsr_data_obj

Components

Type Visibility Attributes Name Initial
type(dbcsr_data_area_type), public, POINTER :: d => Null()

type, public ::  dbcsr_mempool_type

Memory related types

Components

Type Visibility Attributes Name Initial
type(dbcsr_mempool_entry_type), public, POINTER :: root => Null()
integer, public :: capacity = 1

type, public ::  dbcsr_mempool_entry_type

Components

Type Visibility Attributes Name Initial
type(dbcsr_data_obj), public :: area
type(dbcsr_mempool_entry_type), public, POINTER :: next => Null()

type, public ::  dbcsr_memtype_type

Components

Type Visibility Attributes Name Initial
logical, public :: mpi = .FALSE.
logical, public :: acc_hostalloc = .FALSE.
logical, public :: acc_devalloc = .FALSE.
type(acc_stream_type), public :: acc_stream = acc_stream_type()
type(dbcsr_mempool_type), public, POINTER :: pool => Null()
real(kind=dp), public :: oversize_factor = 1.0

type, public ::  dbcsr_data_area_type

Stores actual data

Components

Type Visibility Attributes Name Initial
integer(kind=int_4), public, DIMENSION(:), POINTER, CONTIGUOUS :: i4 => Null()
integer(kind=int_8), public, DIMENSION(:), POINTER, CONTIGUOUS :: i8 => Null()
real(kind=real_4), public, DIMENSION(:), POINTER, CONTIGUOUS :: r_sp => Null()

stores real values in single precision

real(kind=real_8), public, DIMENSION(:), POINTER, CONTIGUOUS :: r_dp => Null()

stores real values in double precision

complex(kind=real_4), public, DIMENSION(:), POINTER, CONTIGUOUS :: c_sp => Null()

stores complex values in single precision

complex(kind=real_8), public, DIMENSION(:), POINTER, CONTIGUOUS :: c_dp => Null()

stores complex values in double precision

real(kind=real_4), public, DIMENSION(:, :), POINTER :: r2_sp => Null()
real(kind=real_8), public, DIMENSION(:, :), POINTER :: r2_dp => Null()
complex(kind=real_4), public, DIMENSION(:, :), POINTER :: c2_sp => Null()
complex(kind=real_8), public, DIMENSION(:, :), POINTER :: c2_dp => Null()
integer, public :: ref_size = -1

last data element in array actually referenced

integer, public :: refcount = -1

reference counter for current structure

integer, public :: id = -1
type(dbcsr_memtype_type), public :: memory_type = dbcsr_memtype_default

type of memory where data lives

integer, public :: data_type = -1

which of the data types is actually used

type(acc_devmem_type), public :: acc_devmem
type(acc_event_type), public :: acc_ready

Functions

public function dbcsr_datatype_sizeof(datatype) result(size)

Helper-routine, returns size of given datatype in terms of bytes.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: datatype

Return Value integer