Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
Data Types | Modules | Functions/Subroutines | Variables
fmempool.F90 File Reference
#include "fassert.inc"
Include dependency graph for fmempool.F90:

Go to the source code of this file.

Data Types

interface  mp_acquire
 
interface  mp_release
 
type  memslice
 
type  mempool
 

Modules

module  fmempool
 Plain Fortran implementation of a memory pool.
 

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.
 

Data Type Documentation

◆ fmempool::memslice

type fmempool::memslice

Definition at line 48 of file fmempool.F90.

Collaboration diagram for memslice:
Class Members
logical acquired
integer(kind=1), dimension(:), pointer mem

◆ fmempool::mempool

type fmempool::mempool

Definition at line 53 of file fmempool.F90.

Collaboration diagram for mempool:
Class Members
type(memslice), dimension(:), pointer slice
    Report Typos and Errors