Documentation for module dbcsr_data_types

Types related to DBCSR data area

source: dbcsr_data_types.F
Loading...

public Types:

dbcsr_data_area_type
Stores actual data
dbcsr_scalar_type
Stores a scalar in any of the supported data types.
dbcsr_mempool_entry_type
...
dbcsr_mempool_type
Memory related types
dbcsr_data_obj
...
dbcsr_memtype_type
...

public Subroutines/Functions:

FUNCTION
INTEGER
dbcsr_datatype_sizeof (datatype)
Helper-routine, returns size of given datatype in terms of bytes.

Parameters:

:: dbcsr_memtype_default = dbcsr_memtype_type(pool=null())
INTEGER
:: dbcsr_type_complex_4 = 5
INTEGER
:: dbcsr_type_complex_4_2d = 13
INTEGER
:: dbcsr_type_complex_8 = 7
INTEGER
:: dbcsr_type_complex_8_2d = 15
INTEGER
:: dbcsr_type_complex_default = dbcsr_type_complex_8
INTEGER
:: dbcsr_type_int_4 = 17
INTEGER
:: dbcsr_type_int_8 = 19
INTEGER
:: dbcsr_type_real_4 = 1
INTEGER
:: dbcsr_type_real_4_2d = 9
INTEGER
:: dbcsr_type_real_8 = 3
INTEGER
:: dbcsr_type_real_8_2d = 11
INTEGER
:: dbcsr_type_real_default = dbcsr_type_real_8

public Types:

TYPE :: dbcsr_data_area_type

Stores actual data


INTEGER(int_4),
DIMENSION(:), POINTER :: i4 => NULL() ...
INTEGER(int_8),
DIMENSION(:), POINTER :: i8 => NULL() ...
REAL(real_4),
DIMENSION(:), POINTER :: r_sp => NULL() stores real values in single precision
REAL(real_8),
DIMENSION(:), POINTER :: r_dp => NULL() stores real values in double precision
COMPLEX(real_4),
DIMENSION(:), POINTER :: c_sp => NULL() stores complex values in single precision
COMPLEX(real_8),
DIMENSION(:), POINTER :: c_dp => NULL() stores complex values in double precision
REAL(real_4),
DIMENSION(:,:), POINTER :: r2_sp => NULL() ...
REAL(real_8),
DIMENSION(:,:), POINTER :: r2_dp => NULL() ...
COMPLEX(real_4),
DIMENSION(:,:), POINTER :: c2_sp => NULL() ...
COMPLEX(real_8),
DIMENSION(:,:), POINTER :: c2_dp => NULL() ...
INTEGER
:: ref_size = -1 last data element in array actually referenced
INTEGER
:: refcount = -1 reference counter for current structure
INTEGER
:: id = -1 ...
:: memory_type = DBCSR_MEMTYPE_DEFAULT type of memory where data lives
INTEGER
:: data_type = -1 which of the data types is actually used
:: acc_devmem ...
:: acc_ready ...

TYPE :: dbcsr_data_obj

...


POINTER :: d => NULL() ...

TYPE :: dbcsr_mempool_entry_type

...


:: area ...
POINTER :: next => NULL() ...

TYPE :: dbcsr_mempool_type

Memory related types


POINTER :: root => NULL() ...
INTEGER
:: capacity = 1 ...

TYPE :: dbcsr_memtype_type

...


LOGICAL
:: mpi = .FALSE. ...
LOGICAL
:: acc_hostalloc = .FALSE. ...
LOGICAL
:: acc_devalloc = .FALSE. ...
:: acc_stream = ACC_STREAM_TYPE() ...
POINTER :: pool => NULL() ...
REAL(dp)
:: oversize_factor = 1.0 ...

TYPE :: dbcsr_scalar_type

Stores a scalar in any of the supported data types.


REAL(real_4)
:: r_sp stores real values in single precision
REAL(real_8)
:: r_dp stores real values in double precision
COMPLEX(real_4)
:: c_sp stores complex values in single precision
COMPLEX(real_8)
:: c_dp stores complex values in double precision
INTEGER
:: data_type which of the data types is actually used

FUNCTIONdbcsr_datatype_sizeof(datatype)

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

Return Value ::
INTEGER
Arguments:
INTEGER,
INTENT(in)
:: datatype ...