Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
|
Plain Fortran implementation of a memory pool.
Derived types and interfaces | |
interface | mp_acquire |
interface | mp_release |
type | memslice |
type | mempool |
Functions/Subroutines | |
logical function | query_environment (env_var, default_val) |
integer(kind=8) function | get_n_elem (mn, mx) |
integer function | get_omp_world_size () |
integer function | get_omp_thread_idx () |
subroutine | mp_acquire_bytes (f_pointer, n_bytes) |
subroutine | mp_release_bytes (c_pointer) |
subroutine, public | mp_init (min_threads, verbosity, disable) |
subroutine, public | mp_finalize () |
subroutine, public | mp_compactify () |
subroutine, public | mp_statistics () |
logical function, public | mp_disabled () |
subroutine | mp_acquire_double_1d (f_pointer, mn, mx) |
subroutine | mp_release_double_1d (f_pointer) |
subroutine | mp_acquire_double_2d (f_pointer, mn, mx) |
subroutine | mp_release_double_2d (f_pointer) |
subroutine | mp_acquire_double_3d (f_pointer, mn, mx) |
subroutine | mp_release_double_3d (f_pointer) |
subroutine | mp_acquire_double_6d (f_pointer, mn, mx) |
subroutine | mp_release_double_6d (f_pointer) |
subroutine | mp_acquire_real_1d (f_pointer, mn, mx) |
subroutine | mp_release_real_1d (f_pointer) |
subroutine | mp_acquire_real_2d (f_pointer, mn, mx) |
subroutine | mp_release_real_2d (f_pointer) |
subroutine | mp_acquire_real_3d (f_pointer, mn, mx) |
subroutine | mp_release_real_3d (f_pointer) |
subroutine | mp_acquire_real_6d (f_pointer, mn, mx) |
subroutine | mp_release_real_6d (f_pointer) |
subroutine | mp_acquire_int_1d (f_pointer, mn, mx) |
subroutine | mp_release_int_1d (f_pointer) |
subroutine | mp_acquire_int_2d (f_pointer, mn, mx) |
subroutine | mp_release_int_2d (f_pointer) |
subroutine | mp_acquire_int_3d (f_pointer, mn, mx) |
subroutine | mp_release_int_3d (f_pointer) |
subroutine | mp_acquire_int_6d (f_pointer, mn, mx) |
subroutine | mp_release_int_6d (f_pointer) |
Variables | |
integer, parameter | int_size = 4 |
integer, parameter | real_size = 4 |
integer, parameter | double_size = 2*real_size |
integer, parameter | n_max_slices = 128 |
type(mempool), dimension(:), pointer, save | pool => null() |
logical, save | verbose = .false. |
logical, save | disabled = .false. |
type fmempool::memslice |
Definition at line 48 of file fmempool.F90.
Class Members | ||
---|---|---|
logical | acquired | |
integer(kind=1), dimension(:), pointer | mem |
type fmempool::mempool |
Definition at line 53 of file fmempool.F90.
Class Members | ||
---|---|---|
type(memslice), dimension(:), pointer | slice |
|
private |
|
private |
|
private |
|
private |
Definition at line 122 of file fmempool.F90.
|
private |
Definition at line 299 of file fmempool.F90.
|
private |
Definition at line 323 of file fmempool.F90.
|
private |
Definition at line 348 of file fmempool.F90.
|
private |
Definition at line 374 of file fmempool.F90.
|
private |
Definition at line 511 of file fmempool.F90.
|
private |
Definition at line 535 of file fmempool.F90.
|
private |
Definition at line 560 of file fmempool.F90.
|
private |
Definition at line 586 of file fmempool.F90.
|
private |
Definition at line 405 of file fmempool.F90.
|
private |
Definition at line 429 of file fmempool.F90.
|
private |
Definition at line 454 of file fmempool.F90.
|
private |
Definition at line 480 of file fmempool.F90.
subroutine, public fmempool::mp_compactify |
logical function, public fmempool::mp_disabled |
Definition at line 290 of file fmempool.F90.
subroutine, public fmempool::mp_finalize |
subroutine, public fmempool::mp_init | ( | integer, intent(in), optional | min_threads, |
logical, intent(in), optional | verbosity, | ||
logical, intent(in), optional | disable | ||
) |
|
private |
Definition at line 145 of file fmempool.F90.
|
private |
Definition at line 316 of file fmempool.F90.
|
private |
Definition at line 341 of file fmempool.F90.
|
private |
Definition at line 367 of file fmempool.F90.
|
private |
Definition at line 396 of file fmempool.F90.
|
private |
Definition at line 528 of file fmempool.F90.
|
private |
Definition at line 553 of file fmempool.F90.
|
private |
Definition at line 579 of file fmempool.F90.
|
private |
Definition at line 608 of file fmempool.F90.
|
private |
Definition at line 422 of file fmempool.F90.
|
private |
Definition at line 447 of file fmempool.F90.
|
private |
Definition at line 473 of file fmempool.F90.
|
private |
Definition at line 502 of file fmempool.F90.
subroutine, public fmempool::mp_statistics |
Definition at line 252 of file fmempool.F90.
|
private |
logical, save disabled = .false. |
Definition at line 59 of file fmempool.F90.
integer, parameter double_size = 2*real_size |
Definition at line 45 of file fmempool.F90.
integer, parameter int_size = 4 |
Definition at line 43 of file fmempool.F90.
integer, parameter n_max_slices = 128 |
Definition at line 46 of file fmempool.F90.
type(mempool), dimension(:), pointer, save pool => null() |
Definition at line 57 of file fmempool.F90.
integer, parameter real_size = 4 |
Definition at line 44 of file fmempool.F90.
logical, save verbose = .false. |
Definition at line 58 of file fmempool.F90.