This module implements the memory handling routines. Pretty mucch allocations and deallocations. More...
Public Member Functions | |
subroutine | qrm_par_mem_init () |
This routine has to be called at the beginning of a parallel section. Afterwards, each thread will update its own tot_mem and max_mem variables. This is done to avoid synchronizations on the update of statistics on memory consumption. More... | |
subroutine | qrm_par_mem_finalize () |
subroutine | qrm_mem_upd (n) |
updates memory statistics More... | |
subroutine | qrm_palloc_d (a, n, info) |
subroutine | qrm_palloc_d_8 (a, n, info) |
subroutine | qrm_palloc_s (a, n, info) |
subroutine | qrm_palloc_s_8 (a, n, info) |
subroutine | qrm_palloc_i (a, n, info) |
subroutine | qrm_palloc_i_8 (a, n, info) |
subroutine | qrm_palloc_2d (a, m, n, info) |
subroutine | qrm_palloc_2s (a, m, n, info) |
subroutine | qrm_palloc_2i (a, m, n, info) |
subroutine | qrm_palloc_2z (a, m, n, info) |
subroutine | qrm_palloc_2c (a, m, n, info) |
subroutine | qrm_aalloc_d (a, n, lbnd, info) |
subroutine | qrm_aalloc_s (a, n, lbnd, info) |
subroutine | qrm_aalloc_i (a, n, lbnd, info) |
subroutine | qrm_aalloc_2d (a, m, n, info) |
subroutine | qrm_aalloc_2s (a, m, n, info) |
subroutine | qrm_aalloc_2i (a, m, n, info) |
subroutine | qrm_aalloc_3d (a, m, n, k, info) |
subroutine | qrm_aalloc_3s (a, m, n, k, info) |
subroutine | qrm_pdealloc_d (a) |
subroutine | qrm_pdealloc_s (a) |
subroutine | qrm_pdealloc_2d (a) |
subroutine | qrm_pdealloc_2s (a) |
subroutine | qrm_pdealloc_i (a) |
subroutine | qrm_pdealloc_2i (a) |
subroutine | qrm_adealloc_d (a) |
subroutine | qrm_adealloc_s (a) |
subroutine | qrm_adealloc_i (a) |
subroutine | qrm_adealloc_2d (a) |
subroutine | qrm_adealloc_2s (a) |
subroutine | qrm_adealloc_3d (a) |
subroutine | qrm_adealloc_3s (a) |
subroutine | qrm_adealloc_2i (a) |
subroutine | qrm_prealloc_d (a, n, force, copy) |
subroutine | qrm_prealloc_s (a, n, force, copy) |
subroutine | qrm_prealloc_i (a, n, force, copy) |
subroutine | qrm_arealloc_d (a, n, force, copy) |
subroutine | qrm_arealloc_s (a, n, force, copy) |
subroutine | qrm_arealloc_i (a, n, force, copy) |
integer function | qrm_asize_i (a) |
integer function | qrm_asize_s (a) |
integer function | qrm_asize_d (a) |
integer function | qrm_asize_2s (a) |
integer function | qrm_asize_2d (a) |
integer function | qrm_asize_3s (a) |
integer function | qrm_asize_3d (a) |
subroutine | qrm_palloc_z (a, n, info) |
subroutine | qrm_palloc_z_8 (a, n, info) |
subroutine | qrm_palloc_c (a, n, info) |
subroutine | qrm_palloc_c_8 (a, n, info) |
subroutine | qrm_aalloc_z (a, n, lbnd, info) |
subroutine | qrm_aalloc_c (a, n, lbnd, info) |
subroutine | qrm_aalloc_2z (a, m, n, info) |
subroutine | qrm_aalloc_2c (a, m, n, info) |
subroutine | qrm_aalloc_3z (a, m, n, k, info) |
subroutine | qrm_aalloc_3c (a, m, n, k, info) |
subroutine | qrm_pdealloc_z (a) |
subroutine | qrm_pdealloc_c (a) |
subroutine | qrm_pdealloc_2z (a) |
subroutine | qrm_pdealloc_2c (a) |
subroutine | qrm_adealloc_z (a) |
subroutine | qrm_adealloc_c (a) |
subroutine | qrm_adealloc_2z (a) |
subroutine | qrm_adealloc_2c (a) |
subroutine | qrm_adealloc_3z (a) |
subroutine | qrm_adealloc_3c (a) |
subroutine | qrm_prealloc_z (a, n, force, copy) |
subroutine | qrm_prealloc_c (a, n, force, copy) |
subroutine | qrm_arealloc_z (a, n, force, copy) |
subroutine | qrm_arealloc_c (a, n, force, copy) |
integer function | qrm_asize_c (a) |
integer function | qrm_asize_z (a) |
integer function | qrm_asize_2c (a) |
integer function | qrm_asize_2z (a) |
integer function | qrm_asize_3c (a) |
integer function | qrm_asize_3z (a) |
integer function | qrm_psize_i (a) |
integer function | qrm_psize_s (a) |
integer function | qrm_psize_c (a) |
integer function | qrm_psize_z (a) |
integer function | qrm_psize_d (a) |
subroutine | qrm_get_mem_stats (totmem, maxmem) |
Public Attributes | |
integer | qrm_mem_thn =0 |
integer | qrm_mem_nth =1 |
integer(kind=8), dimension(0:qrm_maxthreads-1) | qrm_tot_mem =0 |
a counter to keep track of the currently allocated memory, per thread More... | |
integer(kind=8), dimension(0:qrm_maxthreads-1) | qrm_max_mem =0 |
a counter to keep track of the peak memory, per thread More... | |
integer(kind=8) | qrm_seq_peak =0 |
scratchpad variable to store the memory peak on entry to a parallel region More... | |
integer | qrm_exact_mem = qrm_no_ |
integer(kind=8), parameter | qrm_sizeof_i_ =4 |
integer(kind=8), parameter | qrm_sizeof_s_ =4 |
integer(kind=8), parameter | qrm_sizeof_d_ =8 |
integer(kind=8), parameter | qrm_sizeof_c_ =8 |
integer(kind=8), parameter | qrm_sizeof_z_ =16 |
integer(kind=8) | qrm_mem_lim =500000000 |
This module implements the memory handling routines. Pretty mucch allocations and deallocations.
Definition at line 38 of file qrm_mem_mod.F90.
subroutine qrm_mem_mod::qrm_aalloc_2c | ( | complex(kind(1.e0)), dimension(:,:), allocatable | a, |
integer, intent(in) | m, | ||
integer, intent(in) | n, | ||
integer, optional | info | ||
) |
[in,out] | a | the allocatable to be allocated |
[in] | m | the rank-1 size of the allocatable |
[in] | n | the rank-2 size of the allocatable |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 2599 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_aalloc_2d | ( | real(kind(1.d0)), dimension(:,:), allocatable | a, |
integer, intent(in) | m, | ||
integer, intent(in) | n, | ||
integer, optional | info | ||
) |
[in,out] | a | the allocatable to be allocated |
[in] | m | the rank-1 size of the allocatable |
[in] | n | the rank-2 size of the allocatable |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 1015 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_aalloc_2i | ( | integer, dimension(:,:), allocatable | a, |
integer, intent(in) | m, | ||
integer, intent(in) | n, | ||
integer, optional | info | ||
) |
[in,out] | a | the allocatable to be allocated |
[in] | m | the rank-1 size of the allocatable |
[in] | n | the rank-2 size of the allocatable |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 1117 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_aalloc_2s | ( | real(kind(1.e0)), dimension(:,:), allocatable | a, |
integer, intent(in) | m, | ||
integer, intent(in) | n, | ||
integer, optional | info | ||
) |
[in,out] | a | the allocatable to be allocated |
[in] | m | the rank-1 size of the allocatable |
[in] | n | the rank-2 size of the allocatable |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 1066 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_aalloc_2z | ( | complex(kind(1.d0)), dimension(:,:), allocatable | a, |
integer, intent(in) | m, | ||
integer, intent(in) | n, | ||
integer, optional | info | ||
) |
[in,out] | a | the allocatable to be allocated |
[in] | m | the rank-1 size of the allocatable |
[in] | n | the rank-2 size of the allocatable |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 2549 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_aalloc_3c | ( | complex(kind(1.e0)), dimension(:,:,:), allocatable | a, |
integer, intent(in) | m, | ||
integer, intent(in) | n, | ||
integer, intent(in) | k, | ||
integer, optional | info | ||
) |
[in,out] | a | the allocatable to be allocated |
[in] | m | the rank-1 size of the allocatable |
[in] | n | the rank-2 size of the allocatable |
[in] | k | the rank-3 size of the allocatable |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 2707 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_aalloc_3d | ( | real(kind(1.d0)), dimension(:,:,:), allocatable | a, |
integer, intent(in) | m, | ||
integer, intent(in) | n, | ||
integer, intent(in) | k, | ||
integer, optional | info | ||
) |
[in,out] | a | the allocatable to be allocated |
[in] | m | the rank-1 size of the allocatable |
[in] | n | the rank-2 size of the allocatable |
[in] | k | the rank-3 size of the allocatable |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 1171 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_aalloc_3s | ( | real(kind(1.e0)), dimension(:,:,:), allocatable | a, |
integer, intent(in) | m, | ||
integer, intent(in) | n, | ||
integer, intent(in) | k, | ||
integer, optional | info | ||
) |
[in,out] | a | the allocatable to be allocated |
[in] | m | the rank-1 size of the allocatable |
[in] | n | the rank-2 size of the allocatable |
[in] | k | the rank-3 size of the allocatable |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 1224 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_aalloc_3z | ( | complex(kind(1.d0)), dimension(:,:,:), allocatable | a, |
integer, intent(in) | m, | ||
integer, intent(in) | n, | ||
integer, intent(in) | k, | ||
integer, optional | info | ||
) |
[in,out] | a | the allocatable to be allocated |
[in] | m | the rank-1 size of the allocatable |
[in] | n | the rank-2 size of the allocatable |
[in] | k | the rank-3 size of the allocatable |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 2654 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_aalloc_c | ( | complex(kind(1.e0)), dimension(:), allocatable | a, |
integer, intent(in) | n, | ||
integer, optional | lbnd, | ||
integer, optional | info | ||
) |
[in,out] | a | the allocatable to be allocated |
[in] | n | the size of the allocatable |
[in] | lbnd | optional integer specifying the lower bound |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 2491 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_aalloc_d | ( | real(kind(1.d0)), dimension(:), allocatable | a, |
integer, intent(in) | n, | ||
integer, optional | lbnd, | ||
integer, optional | info | ||
) |
[in,out] | a | the allocatable to be allocated |
[in] | n | the size of the allocatable |
[in] | lbnd | optional integer specifying the lower bound |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 841 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_aalloc_i | ( | integer, dimension(:), allocatable | a, |
integer, intent(in) | n, | ||
integer, optional | lbnd, | ||
integer, optional | info | ||
) |
[in,out] | a | the allocatable to be allocated |
[in] | n | the size of the allocatable |
[in] | lbnd | optional integer specifying the lower bound |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 957 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_aalloc_s | ( | real(kind(1.e0)), dimension(:), allocatable | a, |
integer, intent(in) | n, | ||
integer, optional | lbnd, | ||
integer, optional | info | ||
) |
[in,out] | a | the allocatable to be allocated |
[in] | n | the size of the allocatable |
[in] | lbnd | optional integer specifying the lower bound |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 899 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_aalloc_z | ( | complex(kind(1.d0)), dimension(:), allocatable | a, |
integer, intent(in) | n, | ||
integer, optional | lbnd, | ||
integer, optional | info | ||
) |
[in,out] | a | the allocatable to be allocated |
[in] | n | the size of the allocatable |
[in] | lbnd | optional integer specifying the lower bound |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 2434 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_adealloc_2c | ( | complex(kind(1.e0)), dimension(:,:), allocatable | a | ) |
[in,out] | a | the allocatable to be deallocated. |
Definition at line 2931 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_adealloc_2d | ( | real(kind(1.d0)), dimension(:,:), allocatable | a | ) |
[in,out] | a | the allocatable to be deallocated. |
Definition at line 1492 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_adealloc_2i | ( | integer, dimension(:,:), allocatable | a | ) |
[in,out] | a | the allocatable to be deallocated. |
Definition at line 1597 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_adealloc_2s | ( | real(kind(1.e0)), dimension(:,:), allocatable | a | ) |
[in,out] | a | the allocatable to be deallocated. |
Definition at line 1517 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_adealloc_2z | ( | complex(kind(1.d0)), dimension(:,:), allocatable | a | ) |
[in,out] | a | the allocatable to be deallocated. |
Definition at line 2906 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_adealloc_3c | ( | complex(kind(1.e0)), dimension(:,:,:), allocatable | a | ) |
[in,out] | a | the allocatable to be deallocated. |
Definition at line 2983 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_adealloc_3d | ( | real(kind(1.d0)), dimension(:,:,:), allocatable | a | ) |
[in,out] | a | the allocatable to be deallocated. |
Definition at line 1543 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_adealloc_3s | ( | real(kind(1.e0)), dimension(:,:,:), allocatable | a | ) |
[in,out] | a | the allocatable to be deallocated. |
Definition at line 1569 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_adealloc_3z | ( | complex(kind(1.d0)), dimension(:,:,:), allocatable | a | ) |
[in,out] | a | the allocatable to be deallocated. |
Definition at line 2957 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_adealloc_c | ( | complex(kind(1.e0)), dimension(:), allocatable | a | ) |
[in,out] | a | the allocatable to be deallocated. |
Definition at line 2882 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_adealloc_d | ( | real(kind(1.d0)), dimension(:), allocatable | a | ) |
[in,out] | a | the allocatable to be deallocated. |
Definition at line 1419 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_adealloc_i | ( | integer, dimension(:), allocatable | a | ) |
[in,out] | a | the allocatable to be deallocated. |
Definition at line 1468 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_adealloc_s | ( | real(kind(1.e0)), dimension(:), allocatable | a | ) |
[in,out] | a | the allocatable to be deallocated. |
Definition at line 1444 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_adealloc_z | ( | complex(kind(1.d0)), dimension(:), allocatable | a | ) |
[in,out] | a | the allocatable to be deallocated. |
Definition at line 2857 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_arealloc_c | ( | complex(kind(1.e0)), dimension(:), allocatable | a, |
integer | n, | ||
logical, optional | force, | ||
logical, optional | copy | ||
) |
[in,out] | a | the array that has to be reallocated |
[in] | n | the minimum size of a on exit |
[in] | force | if force=.true. a is always reallocated |
[in] | copy | if copy=.true. and force=.false. the content of the old area is copied into the new |
Definition at line 3255 of file qrm_mem_mod.F90.
References i, qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_arealloc_d | ( | real(kind(1.d0)), dimension(:), allocatable | a, |
integer | n, | ||
logical, optional | force, | ||
logical, optional | copy | ||
) |
[in,out] | a | the array that has to be reallocated |
[in] | n | the minimum size of a on exit |
[in] | force | if force=.true. a is always reallocated |
[in] | copy | if copy=.true. and force=.false. the content of the old area is copied into the new |
Definition at line 1864 of file qrm_mem_mod.F90.
References i, qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_arealloc_i | ( | integer, dimension(:), allocatable | a, |
integer | n, | ||
logical, optional | force, | ||
logical, optional | copy | ||
) |
[in,out] | a | the array that has to be reallocated |
[in] | n | the minimum size of a on exit |
[in] | force | if force=.true. a is always reallocated |
[in] | copy | if copy=.true. and force=.false. the content of the old area is copied into the new |
Definition at line 2018 of file qrm_mem_mod.F90.
References i, qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_arealloc_s | ( | real(kind(1.e0)), dimension(:), allocatable | a, |
integer | n, | ||
logical, optional | force, | ||
logical, optional | copy | ||
) |
[in,out] | a | the array that has to be reallocated |
[in] | n | the minimum size of a on exit |
[in] | force | if force=.true. a is always reallocated |
[in] | copy | if copy=.true. and force=.false. the content of the old area is copied into the new |
Definition at line 1941 of file qrm_mem_mod.F90.
References i, qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_arealloc_z | ( | complex(kind(1.d0)), dimension(:), allocatable | a, |
integer | n, | ||
logical, optional | force, | ||
logical, optional | copy | ||
) |
[in,out] | a | the array that has to be reallocated |
[in] | n | the minimum size of a on exit |
[in] | force | if force=.true. a is always reallocated |
[in] | copy | if copy=.true. and force=.false. the content of the old area is copied into the new |
Definition at line 3178 of file qrm_mem_mod.F90.
References i, qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
integer function qrm_mem_mod::qrm_asize_2c | ( | complex(kind(1.e0)), dimension(:,:), allocatable | a | ) |
[in] | a | the arrays whose size must be computed |
Definition at line 3369 of file qrm_mem_mod.F90.
References qrm_mem_mod::qrm_asize::qrm_asize_2c().
integer function qrm_mem_mod::qrm_asize_2d | ( | real(kind(1.d0)), dimension(:,:), allocatable | a | ) |
[in] | a | the arrays whose size must be computed |
Definition at line 2175 of file qrm_mem_mod.F90.
References qrm_mem_mod::qrm_asize::qrm_asize_2d().
integer function qrm_mem_mod::qrm_asize_2s | ( | real(kind(1.e0)), dimension(:,:), allocatable | a | ) |
[in] | a | the arrays whose size must be computed |
Definition at line 2155 of file qrm_mem_mod.F90.
References qrm_mem_mod::qrm_asize::qrm_asize_2s().
integer function qrm_mem_mod::qrm_asize_2z | ( | complex(kind(1.d0)), dimension(:,:), allocatable | a | ) |
[in] | a | the arrays whose size must be computed |
Definition at line 3389 of file qrm_mem_mod.F90.
References qrm_mem_mod::qrm_asize::qrm_asize_2z().
integer function qrm_mem_mod::qrm_asize_3c | ( | complex(kind(1.e0)), dimension(:,:,:), allocatable | a | ) |
[in] | a | the arrays whose size must be computed |
Definition at line 3411 of file qrm_mem_mod.F90.
References qrm_mem_mod::qrm_asize::qrm_asize_3c().
integer function qrm_mem_mod::qrm_asize_3d | ( | real(kind(1.d0)), dimension(:,:,:), allocatable | a | ) |
[in] | a | the arrays whose size must be computed |
Definition at line 2218 of file qrm_mem_mod.F90.
References qrm_mem_mod::qrm_asize::qrm_asize_3d().
integer function qrm_mem_mod::qrm_asize_3s | ( | real(kind(1.e0)), dimension(:,:,:), allocatable | a | ) |
[in] | a | the arrays whose size must be computed |
Definition at line 2197 of file qrm_mem_mod.F90.
References qrm_mem_mod::qrm_asize::qrm_asize_3s().
integer function qrm_mem_mod::qrm_asize_3z | ( | complex(kind(1.d0)), dimension(:,:,:), allocatable | a | ) |
[in] | a | the arrays whose size must be computed |
Definition at line 3432 of file qrm_mem_mod.F90.
References qrm_mem_mod::qrm_asize::qrm_asize_3z().
integer function qrm_mem_mod::qrm_asize_c | ( | complex(kind(1.e0)), dimension(:), allocatable | a | ) |
[in] | a | the arrays whose size must be computed |
Definition at line 3328 of file qrm_mem_mod.F90.
References qrm_mem_mod::qrm_asize::qrm_asize_c().
integer function qrm_mem_mod::qrm_asize_d | ( | real(kind(1.d0)), dimension(:), allocatable | a | ) |
[in] | a | the arrays whose size must be computed |
Definition at line 2134 of file qrm_mem_mod.F90.
References qrm_mem_mod::qrm_asize::qrm_asize_d().
integer function qrm_mem_mod::qrm_asize_i | ( | integer, dimension(:), allocatable | a | ) |
[in] | a | the arrays whose size must be computed |
Definition at line 2093 of file qrm_mem_mod.F90.
References qrm_mem_mod::qrm_asize::qrm_asize_i().
integer function qrm_mem_mod::qrm_asize_s | ( | real(kind(1.e0)), dimension(:), allocatable | a | ) |
[in] | a | the arrays whose size must be computed |
Definition at line 2114 of file qrm_mem_mod.F90.
References qrm_mem_mod::qrm_asize::qrm_asize_s().
integer function qrm_mem_mod::qrm_asize_z | ( | complex(kind(1.d0)), dimension(:), allocatable | a | ) |
[in] | a | the arrays whose size must be computed |
Definition at line 3348 of file qrm_mem_mod.F90.
References qrm_mem_mod::qrm_asize::qrm_asize_z().
subroutine qrm_mem_mod::qrm_get_mem_stats | ( | integer(kind=8) | totmem, |
integer(kind=8) | maxmem | ||
) |
Definition at line 3558 of file qrm_mem_mod.F90.
subroutine qrm_mem_mod::qrm_mem_upd | ( | integer(kind=8) | n | ) |
updates memory statistics
[in] | n | the amount of memory to be added (can be negative for deallocations) |
Definition at line 273 of file qrm_mem_mod.F90.
References qrm_yes_.
Referenced by qrm_aalloc_2c(), qrm_aalloc_2d(), qrm_aalloc_2i(), qrm_aalloc_2s(), qrm_aalloc_2z(), qrm_aalloc_3c(), qrm_aalloc_3d(), qrm_aalloc_3s(), qrm_aalloc_3z(), qrm_aalloc_c(), qrm_aalloc_d(), qrm_aalloc_i(), qrm_aalloc_s(), qrm_aalloc_z(), qrm_adealloc_2c(), qrm_adealloc_2d(), qrm_adealloc_2i(), qrm_adealloc_2s(), qrm_adealloc_2z(), qrm_adealloc_3c(), qrm_adealloc_3d(), qrm_adealloc_3s(), qrm_adealloc_3z(), qrm_adealloc_c(), qrm_adealloc_d(), qrm_adealloc_i(), qrm_adealloc_s(), qrm_adealloc_z(), qrm_arealloc_c(), qrm_arealloc_d(), qrm_arealloc_i(), qrm_arealloc_s(), qrm_arealloc_z(), qrm_palloc_2c(), qrm_palloc_2d(), qrm_palloc_2i(), qrm_palloc_2s(), qrm_palloc_2z(), qrm_palloc_c(), qrm_palloc_c_8(), qrm_palloc_d(), qrm_palloc_d_8(), qrm_palloc_i(), qrm_palloc_i_8(), qrm_palloc_s(), qrm_palloc_s_8(), qrm_palloc_z(), qrm_palloc_z_8(), qrm_pdealloc_2c(), qrm_pdealloc_2d(), qrm_pdealloc_2i(), qrm_pdealloc_2s(), qrm_pdealloc_2z(), qrm_pdealloc_c(), qrm_pdealloc_d(), qrm_pdealloc_i(), qrm_pdealloc_s(), qrm_pdealloc_z(), qrm_prealloc_c(), qrm_prealloc_d(), qrm_prealloc_i(), qrm_prealloc_s(), and qrm_prealloc_z().
subroutine qrm_mem_mod::qrm_palloc_2c | ( | complex(kind(1.e0)), dimension(:,:), pointer | a, |
integer, intent(in) | m, | ||
integer, intent(in) | n, | ||
integer, optional | info | ||
) |
[in,out] | a | the pointer to be allocated |
[in] | m | the rank-1 size of the pointer |
[in] | n | the rank-2 size of the pointer |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 787 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_palloc_2d | ( | real(kind(1.d0)), dimension(:,:), pointer | a, |
integer, intent(in) | m, | ||
integer, intent(in) | n, | ||
integer, optional | info | ||
) |
[in,out] | a | the pointer to be allocated |
[in] | m | the rank-1 size of the pointer |
[in] | n | the rank-2 size of the pointer |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 585 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_palloc_2i | ( | integer, dimension(:,:), pointer | a, |
integer, intent(in) | m, | ||
integer, intent(in) | n, | ||
integer, optional | info | ||
) |
[in,out] | a | the pointer to be allocated |
[in] | m | the rank-1 size of the pointer |
[in] | n | the rank-2 size of the pointer |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 687 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_palloc_2s | ( | real(kind(1.e0)), dimension(:,:), pointer | a, |
integer, intent(in) | m, | ||
integer, intent(in) | n, | ||
integer, optional | info | ||
) |
[in,out] | a | the pointer to be allocated |
[in] | m | the rank-1 size of the pointer |
[in] | n | the rank-2 size of the pointer |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 636 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_palloc_2z | ( | complex(kind(1.d0)), dimension(:,:), pointer | a, |
integer, intent(in) | m, | ||
integer, intent(in) | n, | ||
integer, optional | info | ||
) |
[in,out] | a | the pointer to be allocated |
[in] | m | the rank-1 size of the pointer |
[in] | n | the rank-2 size of the pointer |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 737 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_palloc_c | ( | complex(kind(1.e0)), dimension(:), pointer | a, |
integer, intent(in) | n, | ||
integer, optional | info | ||
) |
[in] | n | the size of the pointer |
[in,out] | a | the pointer to be allocated. |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 2335 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_palloc_c_8 | ( | complex(kind(1.e0)), dimension(:), pointer | a, |
integer(kind=8), intent(in) | n, | ||
integer, optional | info | ||
) |
[in] | n | the size of the pointer |
[in,out] | a | the pointer to be allocated. |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 2383 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_palloc_d | ( | real(kind(1.d0)), dimension(:), pointer | a, |
integer, intent(in) | n, | ||
integer, optional | info | ||
) |
[in] | n | the size of the pointer |
[in,out] | a | the pointer to be allocated. |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 298 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_palloc_d_8 | ( | real(kind(1.d0)), dimension(:), pointer | a, |
integer(kind=8), intent(in) | n, | ||
integer, optional | info | ||
) |
[in] | n | the size of the pointer |
[in,out] | a | the pointer to be allocated. |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 343 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_palloc_i | ( | integer, dimension(:), pointer | a, |
integer, intent(in) | n, | ||
integer, optional | info | ||
) |
[in] | n | the size of the pointer |
[in,out] | a | the pointer to be allocated. |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 485 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_palloc_i_8 | ( | integer, dimension(:), pointer | a, |
integer(kind=8), intent(in) | n, | ||
integer, optional | info | ||
) |
[in] | n | the size of the pointer |
[in,out] | a | the pointer to be allocated. |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 533 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_palloc_s | ( | real(kind(1.e0)), dimension(:), pointer | a, |
integer, intent(in) | n, | ||
integer, optional | info | ||
) |
[in] | n | the size of the pointer |
[in,out] | a | the pointer to be allocated. |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 388 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_palloc_s_8 | ( | real(kind(1.e0)), dimension(:), pointer | a, |
integer(kind=8), intent(in) | n, | ||
integer, optional | info | ||
) |
[in] | n | the size of the pointer |
[in,out] | a | the pointer to be allocated. |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 436 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_palloc_z | ( | complex(kind(1.d0)), dimension(:), pointer | a, |
integer, intent(in) | n, | ||
integer, optional | info | ||
) |
[in] | n | the size of the pointer |
[in,out] | a | the pointer to be allocated. |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 2244 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_palloc_z_8 | ( | complex(kind(1.d0)), dimension(:), pointer | a, |
integer(kind=8), intent(in) | n, | ||
integer, optional | info | ||
) |
[in] | n | the size of the pointer |
[in,out] | a | the pointer to be allocated. |
[out] | info | (optional). if this argument is present, then the callee wants to handle the error on his side |
Definition at line 2289 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_par_mem_finalize | ( | ) |
Definition at line 252 of file qrm_mem_mod.F90.
References qrm_yes_.
Referenced by _qrm_apply_q(), _qrm_apply_qt(), _qrm_factorization_core(), _qrm_solve_r(), _qrm_solve_rt(), dqrm_apply_q(), dqrm_apply_qt(), dqrm_factorization_core(), dqrm_solve_r(), and dqrm_solve_rt().
subroutine qrm_mem_mod::qrm_par_mem_init | ( | ) |
This routine has to be called at the beginning of a parallel section. Afterwards, each thread will update its own tot_mem and max_mem variables. This is done to avoid synchronizations on the update of statistics on memory consumption.
Definition at line 235 of file qrm_mem_mod.F90.
References qrm_yes_.
Referenced by _qrm_apply_q(), _qrm_apply_qt(), _qrm_factorization_core(), _qrm_solve_r(), _qrm_solve_rt(), dqrm_apply_q(), dqrm_apply_qt(), dqrm_factorization_core(), dqrm_solve_r(), and dqrm_solve_rt().
subroutine qrm_mem_mod::qrm_pdealloc_2c | ( | complex(kind(1.e0)), dimension(:,:), pointer | a | ) |
[in,out] | a | the pointer to be deallocated. |
Definition at line 2831 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_pdealloc_2d | ( | real(kind(1.d0)), dimension(:,:), pointer | a | ) |
[in,out] | a | the pointer to be deallocated. |
Definition at line 1317 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_pdealloc_2i | ( | integer, dimension(:,:), pointer | a | ) |
[in,out] | a | the pointer to be deallocated. |
Definition at line 1392 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_pdealloc_2s | ( | real(kind(1.e0)), dimension(:,:), pointer | a | ) |
[in,out] | a | the pointer to be deallocated. |
Definition at line 1342 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_pdealloc_2z | ( | complex(kind(1.d0)), dimension(:,:), pointer | a | ) |
[in,out] | a | the pointer to be deallocated. |
Definition at line 2806 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_pdealloc_c | ( | complex(kind(1.e0)), dimension(:), pointer | a | ) |
[in,out] | a | the pointer to be deallocated. |
Definition at line 2781 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_pdealloc_d | ( | real(kind(1.d0)), dimension(:), pointer | a | ) |
[in,out] | a | the pointer to be deallocated. |
Definition at line 1269 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_pdealloc_i | ( | integer, dimension(:), pointer | a | ) |
[in,out] | a | the pointer to be deallocated. |
Definition at line 1367 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_pdealloc_s | ( | real(kind(1.e0)), dimension(:), pointer | a | ) |
[in,out] | a | the pointer to be deallocated. |
Definition at line 1293 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_pdealloc_z | ( | complex(kind(1.d0)), dimension(:), pointer | a | ) |
[in,out] | a | the pointer to be deallocated. |
Definition at line 2757 of file qrm_mem_mod.F90.
References qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_prealloc_c | ( | complex(kind(1.e0)), dimension(:), pointer | a, |
integer | n, | ||
logical, optional | force, | ||
logical, optional | copy | ||
) |
[in,out] | a | the array that has to be reallocated |
[in] | n | the minimum size of a on exit |
[in] | force | if force=.true. a is always reallocated |
[in] | copy | if copy=.true. and force=.false. the content of the old area is copied into the new |
Definition at line 3099 of file qrm_mem_mod.F90.
References i, qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_prealloc_d | ( | real(kind(1.d0)), dimension(:), pointer | a, |
integer | n, | ||
logical, optional | force, | ||
logical, optional | copy | ||
) |
[in,out] | a | the array that has to be reallocated |
[in] | n | the minimum size of a on exit |
[in] | force | if force=.true. a is always reallocated |
[in] | copy | if copy=.true. and force=.false. the content of the old area is copied into the new |
Definition at line 1627 of file qrm_mem_mod.F90.
References i, qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_prealloc_i | ( | integer, dimension(:), pointer | a, |
integer | n, | ||
logical, optional | force, | ||
logical, optional | copy | ||
) |
[in,out] | a | the array that has to be reallocated |
[in] | n | the minimum size of a on exit |
[in] | force | if force=.true. a is always reallocated |
[in] | copy | if copy=.true. and force=.false. the content of the old area is copied into the new |
Definition at line 1785 of file qrm_mem_mod.F90.
References i, qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_prealloc_s | ( | real(kind(1.e0)), dimension(:), pointer | a, |
integer | n, | ||
logical, optional | force, | ||
logical, optional | copy | ||
) |
[in,out] | a | the array that has to be reallocated |
[in] | n | the minimum size of a on exit |
[in] | force | if force=.true. a is always reallocated |
[in] | copy | if copy=.true. and force=.false. the content of the old area is copied into the new |
Definition at line 1706 of file qrm_mem_mod.F90.
References i, qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
subroutine qrm_mem_mod::qrm_prealloc_z | ( | complex(kind(1.d0)), dimension(:), pointer | a, |
integer | n, | ||
logical, optional | force, | ||
logical, optional | copy | ||
) |
[in,out] | a | the array that has to be reallocated |
[in] | n | the minimum size of a on exit |
[in] | force | if force=.true. a is always reallocated |
[in] | copy | if copy=.true. and force=.false. the content of the old area is copied into the new |
Definition at line 3020 of file qrm_mem_mod.F90.
References i, qrm_error_mod::qrm_err_push(), and qrm_mem_upd().
integer function qrm_mem_mod::qrm_psize_c | ( | complex(kind(1.e0)), dimension(:), pointer | a | ) |
[in] | a | the arrays whose size must be computed |
Definition at line 3499 of file qrm_mem_mod.F90.
References qrm_mem_mod::qrm_psize::qrm_psize_c().
integer function qrm_mem_mod::qrm_psize_d | ( | real(kind(1.d0)), dimension(:), pointer | a | ) |
[in] | a | the arrays whose size must be computed |
Definition at line 3539 of file qrm_mem_mod.F90.
References qrm_mem_mod::qrm_psize::qrm_psize_d().
integer function qrm_mem_mod::qrm_psize_i | ( | integer, dimension(:), pointer | a | ) |
[in] | a | the arrays whose size must be computed |
Definition at line 3456 of file qrm_mem_mod.F90.
References qrm_mem_mod::qrm_psize::qrm_psize_i().
integer function qrm_mem_mod::qrm_psize_s | ( | real(kind(1.e0)), dimension(:), pointer | a | ) |
[in] | a | the arrays whose size must be computed |
Definition at line 3477 of file qrm_mem_mod.F90.
References qrm_mem_mod::qrm_psize::qrm_psize_s().
integer function qrm_mem_mod::qrm_psize_z | ( | complex(kind(1.d0)), dimension(:), pointer | a | ) |
[in] | a | the arrays whose size must be computed |
Definition at line 3519 of file qrm_mem_mod.F90.
References qrm_mem_mod::qrm_psize::qrm_psize_z().
integer qrm_mem_mod::qrm_exact_mem = qrm_no_ |
Definition at line 215 of file qrm_mem_mod.F90.
integer(kind=8), dimension(0:qrm_maxthreads-1) qrm_mem_mod::qrm_max_mem =0 |
a counter to keep track of the peak memory, per thread
Definition at line 209 of file qrm_mem_mod.F90.
integer(kind=8) qrm_mem_mod::qrm_mem_lim =500000000 |
Definition at line 225 of file qrm_mem_mod.F90.
integer qrm_mem_mod::qrm_mem_nth =1 |
Definition at line 202 of file qrm_mem_mod.F90.
integer qrm_mem_mod::qrm_mem_thn =0 |
Definition at line 202 of file qrm_mem_mod.F90.
integer(kind=8) qrm_mem_mod::qrm_seq_peak =0 |
scratchpad variable to store the memory peak on entry to a parallel region
Definition at line 213 of file qrm_mem_mod.F90.
integer(kind=8), parameter qrm_mem_mod::qrm_sizeof_c_ =8 |
Definition at line 220 of file qrm_mem_mod.F90.
integer(kind=8), parameter qrm_mem_mod::qrm_sizeof_d_ =8 |
Definition at line 219 of file qrm_mem_mod.F90.
integer(kind=8), parameter qrm_mem_mod::qrm_sizeof_i_ =4 |
Definition at line 217 of file qrm_mem_mod.F90.
integer(kind=8), parameter qrm_mem_mod::qrm_sizeof_s_ =4 |
Definition at line 218 of file qrm_mem_mod.F90.
integer(kind=8), parameter qrm_mem_mod::qrm_sizeof_z_ =16 |
Definition at line 221 of file qrm_mem_mod.F90.
integer(kind=8), dimension(0:qrm_maxthreads-1) qrm_mem_mod::qrm_tot_mem =0 |
a counter to keep track of the currently allocated memory, per thread
Definition at line 206 of file qrm_mem_mod.F90.