QR_MUMPS
Data Types | Modules | Functions/Subroutines | Variables
qrm_mem_mod.F90 File Reference

This file contains the module that implements all the memory management. More...

Go to the source code of this file.

Data Types

interface  qrm_mem_mod::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_mem_mod::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_mem_mod::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_mem_mod::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_mem_mod::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_mem_mod::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_mem_mod::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_mem_mod::qrm_psize
 Generic interface for the qrm_psize_i qrm_psize_s qrm_psize_d qrm_psize_c qrm_psize_z, routines. More...
 

Modules

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

Functions/Subroutines

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. More...
 
subroutine qrm_mem_mod::qrm_par_mem_finalize ()
 
subroutine qrm_mem_mod::qrm_mem_upd (n)
 updates memory statistics More...
 
subroutine qrm_mem_mod::qrm_palloc_d (a, n, info)
 
subroutine qrm_mem_mod::qrm_palloc_d_8 (a, n, info)
 
subroutine qrm_mem_mod::qrm_palloc_s (a, n, info)
 
subroutine qrm_mem_mod::qrm_palloc_s_8 (a, n, info)
 
subroutine qrm_mem_mod::qrm_palloc_i (a, n, info)
 
subroutine qrm_mem_mod::qrm_palloc_i_8 (a, n, info)
 
subroutine qrm_mem_mod::qrm_palloc_2d (a, m, n, info)
 
subroutine qrm_mem_mod::qrm_palloc_2s (a, m, n, info)
 
subroutine qrm_mem_mod::qrm_palloc_2i (a, m, n, info)
 
subroutine qrm_mem_mod::qrm_palloc_2z (a, m, n, info)
 
subroutine qrm_mem_mod::qrm_palloc_2c (a, m, n, info)
 
subroutine qrm_mem_mod::qrm_aalloc_d (a, n, lbnd, info)
 
subroutine qrm_mem_mod::qrm_aalloc_s (a, n, lbnd, info)
 
subroutine qrm_mem_mod::qrm_aalloc_i (a, n, lbnd, info)
 
subroutine qrm_mem_mod::qrm_aalloc_2d (a, m, n, info)
 
subroutine qrm_mem_mod::qrm_aalloc_2s (a, m, n, info)
 
subroutine qrm_mem_mod::qrm_aalloc_2i (a, m, n, info)
 
subroutine qrm_mem_mod::qrm_aalloc_3d (a, m, n, k, info)
 
subroutine qrm_mem_mod::qrm_aalloc_3s (a, m, n, k, info)
 
subroutine qrm_mem_mod::qrm_pdealloc_d (a)
 
subroutine qrm_mem_mod::qrm_pdealloc_s (a)
 
subroutine qrm_mem_mod::qrm_pdealloc_2d (a)
 
subroutine qrm_mem_mod::qrm_pdealloc_2s (a)
 
subroutine qrm_mem_mod::qrm_pdealloc_i (a)
 
subroutine qrm_mem_mod::qrm_pdealloc_2i (a)
 
subroutine qrm_mem_mod::qrm_adealloc_d (a)
 
subroutine qrm_mem_mod::qrm_adealloc_s (a)
 
subroutine qrm_mem_mod::qrm_adealloc_i (a)
 
subroutine qrm_mem_mod::qrm_adealloc_2d (a)
 
subroutine qrm_mem_mod::qrm_adealloc_2s (a)
 
subroutine qrm_mem_mod::qrm_adealloc_3d (a)
 
subroutine qrm_mem_mod::qrm_adealloc_3s (a)
 
subroutine qrm_mem_mod::qrm_adealloc_2i (a)
 
subroutine qrm_mem_mod::qrm_prealloc_d (a, n, force, copy)
 
subroutine qrm_mem_mod::qrm_prealloc_s (a, n, force, copy)
 
subroutine qrm_mem_mod::qrm_prealloc_i (a, n, force, copy)
 
subroutine qrm_mem_mod::qrm_arealloc_d (a, n, force, copy)
 
subroutine qrm_mem_mod::qrm_arealloc_s (a, n, force, copy)
 
subroutine qrm_mem_mod::qrm_arealloc_i (a, n, force, copy)
 
integer function qrm_mem_mod::qrm_asize_i (a)
 
integer function qrm_mem_mod::qrm_asize_s (a)
 
integer function qrm_mem_mod::qrm_asize_d (a)
 
integer function qrm_mem_mod::qrm_asize_2s (a)
 
integer function qrm_mem_mod::qrm_asize_2d (a)
 
integer function qrm_mem_mod::qrm_asize_3s (a)
 
integer function qrm_mem_mod::qrm_asize_3d (a)
 
subroutine qrm_mem_mod::qrm_palloc_z (a, n, info)
 
subroutine qrm_mem_mod::qrm_palloc_z_8 (a, n, info)
 
subroutine qrm_mem_mod::qrm_palloc_c (a, n, info)
 
subroutine qrm_mem_mod::qrm_palloc_c_8 (a, n, info)
 
subroutine qrm_mem_mod::qrm_aalloc_z (a, n, lbnd, info)
 
subroutine qrm_mem_mod::qrm_aalloc_c (a, n, lbnd, info)
 
subroutine qrm_mem_mod::qrm_aalloc_2z (a, m, n, info)
 
subroutine qrm_mem_mod::qrm_aalloc_2c (a, m, n, info)
 
subroutine qrm_mem_mod::qrm_aalloc_3z (a, m, n, k, info)
 
subroutine qrm_mem_mod::qrm_aalloc_3c (a, m, n, k, info)
 
subroutine qrm_mem_mod::qrm_pdealloc_z (a)
 
subroutine qrm_mem_mod::qrm_pdealloc_c (a)
 
subroutine qrm_mem_mod::qrm_pdealloc_2z (a)
 
subroutine qrm_mem_mod::qrm_pdealloc_2c (a)
 
subroutine qrm_mem_mod::qrm_adealloc_z (a)
 
subroutine qrm_mem_mod::qrm_adealloc_c (a)
 
subroutine qrm_mem_mod::qrm_adealloc_2z (a)
 
subroutine qrm_mem_mod::qrm_adealloc_2c (a)
 
subroutine qrm_mem_mod::qrm_adealloc_3z (a)
 
subroutine qrm_mem_mod::qrm_adealloc_3c (a)
 
subroutine qrm_mem_mod::qrm_prealloc_z (a, n, force, copy)
 
subroutine qrm_mem_mod::qrm_prealloc_c (a, n, force, copy)
 
subroutine qrm_mem_mod::qrm_arealloc_z (a, n, force, copy)
 
subroutine qrm_mem_mod::qrm_arealloc_c (a, n, force, copy)
 
integer function qrm_mem_mod::qrm_asize_c (a)
 
integer function qrm_mem_mod::qrm_asize_z (a)
 
integer function qrm_mem_mod::qrm_asize_2c (a)
 
integer function qrm_mem_mod::qrm_asize_2z (a)
 
integer function qrm_mem_mod::qrm_asize_3c (a)
 
integer function qrm_mem_mod::qrm_asize_3z (a)
 
integer function qrm_mem_mod::qrm_psize_i (a)
 
integer function qrm_mem_mod::qrm_psize_s (a)
 
integer function qrm_mem_mod::qrm_psize_c (a)
 
integer function qrm_mem_mod::qrm_psize_z (a)
 
integer function qrm_mem_mod::qrm_psize_d (a)
 
subroutine qrm_mem_mod::qrm_get_mem_stats (totmem, maxmem)
 

Variables

integer qrm_mem_mod::qrm_mem_thn =0
 
integer qrm_mem_mod::qrm_mem_nth =1
 
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 More...
 
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 More...
 
integer(kind=8) qrm_mem_mod::qrm_seq_peak =0
 scratchpad variable to store the memory peak on entry to a parallel region More...
 
integer qrm_mem_mod::qrm_exact_mem = qrm_no_
 
integer(kind=8), parameter qrm_mem_mod::qrm_sizeof_i_ =4
 
integer(kind=8), parameter qrm_mem_mod::qrm_sizeof_s_ =4
 
integer(kind=8), parameter qrm_mem_mod::qrm_sizeof_d_ =8
 
integer(kind=8), parameter qrm_mem_mod::qrm_sizeof_c_ =8
 
integer(kind=8), parameter qrm_mem_mod::qrm_sizeof_z_ =16
 
integer(kind=8) qrm_mem_mod::qrm_mem_lim =500000000
 

Detailed Description

This file contains the module that implements all the memory management.

Date
2016-01-29 22:22:30 +0100 (Fri, 29 Jan 2016)
Author
abuttari
Version
1.1
Revision
2075

Definition in file qrm_mem_mod.F90.