QR_MUMPS
 All Classes Files Functions Variables Enumerations Enumerator Pages
List of all members | Data Types | Public Member Functions | Public Attributes
qrm_mem_mod Module Reference

This module implements the memory handling routines. Pretty mucch allocations and deallocations. More...

Data Types

interface  qrm_aalloc
 Generic interface for the qrm_aalloc_i, qrm_aalloc_2i, qrm_aalloc_s, qrm_aalloc_2s, qrm_aalloc_3s, qrm_aalloc_d, qrm_aalloc_2d, qrm_aalloc_3d, qrm_aalloc_c, qrm_aalloc_2c, qrm_aalloc_3c, qrm_aalloc_z, qrm_aalloc_2z, qrm_aalloc_3z, routines. More...
 
interface  qrm_adealloc
 Generic interface for the qrm_adealloc_i, qrm_adealloc_2i, qrm_adealloc_s, qrm_adealloc_2s, qrm_adealloc_3s, qrm_adealloc_d, qrm_adealloc_2d, qrm_adealloc_3d, qrm_adealloc_c, qrm_adealloc_2c, qrm_adealloc_3c, qrm_adealloc_z, qrm_adealloc_2z, qrm_adealloc_3z, routines. More...
 
interface  qrm_arealloc
 Generic interface for the qrm_arealloc_i qrm_arealloc_s qrm_arealloc_d qrm_arealloc_c qrm_arealloc_z, routines. More...
 
interface  qrm_asize
 Generic interface for the qrm_asize_i, qrm_asize_s, qrm_asize_2s, qrm_asize_3s, qrm_asize_d, qrm_asize_2d, qrm_asize_3d, qrm_asize_c, qrm_asize_2c, qrm_asize_3c, qrm_asize_z, qrm_asize_2z, qrm_asize_3z routines. More...
 
interface  qrm_palloc
 Generic interface for the qrm_palloc_i, qrm_palloc_2i, qrm_palloc_s, qrm_palloc_2s, qrm_palloc_d, qrm_palloc_2d, qrm_palloc_c, qrm_palloc_2c, qrm_palloc_z, qrm_palloc_2z, routines. More...
 
interface  qrm_pdealloc
 Generic interface for the qrm_pdealloc_i, qrm_pdealloc_2i, qrm_pdealloc_s, qrm_pdealloc_2s, qrm_pdealloc_d, qrm_pdealloc_2d, qrm_pdealloc_c, qrm_pdealloc_2c, qrm_pdealloc_z, qrm_pdealloc_2z, routines. More...
 
interface  qrm_prealloc
 Generic interface for the qrm_prealloc_i qrm_prealloc_s qrm_prealloc_d qrm_prealloc_c qrm_prealloc_z, routines. More...
 
interface  qrm_psize
 Generic interface for the qrm_psize_i qrm_psize_s qrm_psize_d qrm_psize_c qrm_psize_z, routines. 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
 

Detailed Description

This module implements the memory handling routines. Pretty mucch allocations and deallocations.

Definition at line 38 of file qrm_mem_mod.F90.

Member Function/Subroutine Documentation

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 
)
Parameters
[in,out]athe allocatable to be allocated
[in]mthe rank-1 size of the allocatable
[in]nthe 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 
)
Parameters
[in,out]athe allocatable to be allocated
[in]mthe rank-1 size of the allocatable
[in]nthe 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 
)
Parameters
[in,out]athe allocatable to be allocated
[in]mthe rank-1 size of the allocatable
[in]nthe 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 
)
Parameters
[in,out]athe allocatable to be allocated
[in]mthe rank-1 size of the allocatable
[in]nthe 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 
)
Parameters
[in,out]athe allocatable to be allocated
[in]mthe rank-1 size of the allocatable
[in]nthe 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 
)
Parameters
[in,out]athe allocatable to be allocated
[in]mthe rank-1 size of the allocatable
[in]nthe rank-2 size of the allocatable
[in]kthe 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 
)
Parameters
[in,out]athe allocatable to be allocated
[in]mthe rank-1 size of the allocatable
[in]nthe rank-2 size of the allocatable
[in]kthe 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 
)
Parameters
[in,out]athe allocatable to be allocated
[in]mthe rank-1 size of the allocatable
[in]nthe rank-2 size of the allocatable
[in]kthe 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 
)
Parameters
[in,out]athe allocatable to be allocated
[in]mthe rank-1 size of the allocatable
[in]nthe rank-2 size of the allocatable
[in]kthe 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 
)
Parameters
[in,out]athe allocatable to be allocated
[in]nthe size of the allocatable
[in]lbndoptional 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 
)
Parameters
[in,out]athe allocatable to be allocated
[in]nthe size of the allocatable
[in]lbndoptional 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 
)
Parameters
[in,out]athe allocatable to be allocated
[in]nthe size of the allocatable
[in]lbndoptional 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 
)
Parameters
[in,out]athe allocatable to be allocated
[in]nthe size of the allocatable
[in]lbndoptional 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 
)
Parameters
[in,out]athe allocatable to be allocated
[in]nthe size of the allocatable
[in]lbndoptional 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)
Parameters
[in,out]athe 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)
Parameters
[in,out]athe 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)
Parameters
[in,out]athe 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)
Parameters
[in,out]athe 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)
Parameters
[in,out]athe 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)
Parameters
[in,out]athe 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)
Parameters
[in,out]athe 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)
Parameters
[in,out]athe 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)
Parameters
[in,out]athe 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)
Parameters
[in,out]athe 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)
Parameters
[in,out]athe 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)
Parameters
[in,out]athe 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)
Parameters
[in,out]athe 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)
Parameters
[in,out]athe 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 
)
Parameters
[in,out]athe array that has to be reallocated
[in]nthe minimum size of a on exit
[in]forceif force=.true. a is always reallocated
[in]copyif 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 
)
Parameters
[in,out]athe array that has to be reallocated
[in]nthe minimum size of a on exit
[in]forceif force=.true. a is always reallocated
[in]copyif 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 
)
Parameters
[in,out]athe array that has to be reallocated
[in]nthe minimum size of a on exit
[in]forceif force=.true. a is always reallocated
[in]copyif 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 
)
Parameters
[in,out]athe array that has to be reallocated
[in]nthe minimum size of a on exit
[in]forceif force=.true. a is always reallocated
[in]copyif 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 
)
Parameters
[in,out]athe array that has to be reallocated
[in]nthe minimum size of a on exit
[in]forceif force=.true. a is always reallocated
[in]copyif 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)
Parameters
[in]athe 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)
Parameters
[in]athe 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)
Parameters
[in]athe 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)
Parameters
[in]athe 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)
Parameters
[in]athe 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)
Parameters
[in]athe 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)
Parameters
[in]athe 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)
Parameters
[in]athe 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)
Parameters
[in]athe 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)
Parameters
[in]athe 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)
Parameters
[in]athe 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)
Parameters
[in]athe 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)
Parameters
[in]athe 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)
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 
)
Parameters
[in,out]athe pointer to be allocated
[in]mthe rank-1 size of the pointer
[in]nthe 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 
)
Parameters
[in,out]athe pointer to be allocated
[in]mthe rank-1 size of the pointer
[in]nthe 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 
)
Parameters
[in,out]athe pointer to be allocated
[in]mthe rank-1 size of the pointer
[in]nthe 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 
)
Parameters
[in,out]athe pointer to be allocated
[in]mthe rank-1 size of the pointer
[in]nthe 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 
)
Parameters
[in,out]athe pointer to be allocated
[in]mthe rank-1 size of the pointer
[in]nthe 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 
)
Parameters
[in]nthe size of the pointer
[in,out]athe 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 
)
Parameters
[in]nthe size of the pointer
[in,out]athe 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 
)
Parameters
[in]nthe size of the pointer
[in,out]athe 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 
)
Parameters
[in]nthe size of the pointer
[in,out]athe 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 
)
Parameters
[in]nthe size of the pointer
[in,out]athe 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 
)
Parameters
[in]nthe size of the pointer
[in,out]athe 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 
)
Parameters
[in]nthe size of the pointer
[in,out]athe 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 
)
Parameters
[in]nthe size of the pointer
[in,out]athe 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 
)
Parameters
[in]nthe size of the pointer
[in,out]athe 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 
)
Parameters
[in]nthe size of the pointer
[in,out]athe 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 ( )
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)
Parameters
[in,out]athe 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)
Parameters
[in,out]athe 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)
Parameters
[in,out]athe 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)
Parameters
[in,out]athe 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)
Parameters
[in,out]athe 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)
Parameters
[in,out]athe 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)
Parameters
[in,out]athe 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)
Parameters
[in,out]athe 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)
Parameters
[in,out]athe 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)
Parameters
[in,out]athe 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 
)
Parameters
[in,out]athe array that has to be reallocated
[in]nthe minimum size of a on exit
[in]forceif force=.true. a is always reallocated
[in]copyif 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 
)
Parameters
[in,out]athe array that has to be reallocated
[in]nthe minimum size of a on exit
[in]forceif force=.true. a is always reallocated
[in]copyif 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 
)
Parameters
[in,out]athe array that has to be reallocated
[in]nthe minimum size of a on exit
[in]forceif force=.true. a is always reallocated
[in]copyif 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 
)
Parameters
[in,out]athe array that has to be reallocated
[in]nthe minimum size of a on exit
[in]forceif force=.true. a is always reallocated
[in]copyif 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 
)
Parameters
[in,out]athe array that has to be reallocated
[in]nthe minimum size of a on exit
[in]forceif force=.true. a is always reallocated
[in]copyif 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)
Parameters
[in]athe 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)
Parameters
[in]athe 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)
Parameters
[in]athe 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)
Parameters
[in]athe 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)
Parameters
[in]athe 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().

Member Data Documentation

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.


The documentation for this module was generated from the following file: