Documentation for module dbcsr_mem_methods

DBCSR Memory Pool to avoid slow allocations of accelerator memory

source: dbcsr_mem_methods.F
Loading...

public Subroutines/Functions:

SUBROUTINE
dbcsr_mempool_add (area)
Adds an unused (refcount==0) data_area to the pool.
Deallocates all data_areas contained in given mempool.
Finalizes mempool, includes deallocation of all contained data_areas.
Picks a suitable data_area from mempool, returns Null() if none found.
Ensures that mempool has at least the given capacity.
FUNCTION
LOGICAL
dbcsr_memtype_equal (mt1, mt2)
Test if two memtypes are equal
Ensures that given memtype has requested settings.

SUBROUTINEdbcsr_mempool_add(area)

Adds an unused (refcount==0) data_area to the pool.

Arguments:
:: area ...

SUBROUTINEdbcsr_mempool_clear(pool)

Deallocates all data_areas contained in given mempool.

Arguments:
POINTER
:: pool ...

SUBROUTINEdbcsr_mempool_destruct(pool)

Finalizes mempool, includes deallocation of all contained data_areas.

Arguments:
POINTER
:: pool ...

FUNCTIONdbcsr_mempool_get(memtype, datatype, datasize)

Picks a suitable data_area from mempool, returns Null() if none found.

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

SUBROUTINEdbcsr_mempool_limit_capacity(pool, capacity)

Ensures that mempool has at least the given capacity.

Arguments:
POINTER
:: pool ...
INTEGER,
INTENT(in)
:: capacity ...

FUNCTIONdbcsr_memtype_equal(mt1, mt2)

Test if two memtypes are equal

Return Value ::
LOGICAL
Arguments:
INTENT(in)
:: mt1 ...
INTENT(in)
:: mt2 ...

SUBROUTINEdbcsr_memtype_setup(memtype, acc_hostalloc, acc_devalloc, mpi, acc_stream, oversize_factor, has_pool)

Ensures that given memtype has requested settings.

Arguments:
INTENT(inout)
:: memtype ...
LOGICAL,
INTENT(in),
OPTIONAL
:: acc_hostalloc ...
LOGICAL,
INTENT(in),
OPTIONAL
:: acc_devalloc ...
LOGICAL,
INTENT(in),
OPTIONAL
:: mpi ...
OPTIONAL
:: acc_stream ...
REAL(dp),
OPTIONAL
:: oversize_factor ...
LOGICAL,
INTENT(in),
OPTIONAL
:: has_pool ...