FMS 2025.01-dev
Flexible Modeling System
Loading...
Searching...
No Matches
mpp_pset_mod

Handles PSETs(Persistent Shared-memory Execution Threads) for mpp modules. More...

Data Types

interface  mpp_pset_broadcast_ptr
 
interface  mpp_pset_print_chksum
 
type  mpp_pset_type
 
interface  mpp_recv_ptr
 
interface  mpp_send_ptr
 

Functions/Subroutines

subroutine, public mpp_pset_broadcast (pset, a)
 
subroutine mpp_pset_broadcast_ptr_array (pset, ptr)
 
subroutine mpp_pset_broadcast_ptr_array (pset, ptr)
 
subroutine mpp_pset_broadcast_ptr_scalar (pset, ptr)
 
subroutine mpp_pset_broadcast_ptr_scalar (pset, ptr)
 
subroutine, public mpp_pset_check_ptr (pset, ptr)
 
subroutine, public mpp_pset_create (npset, pset, stacksize, pelist, commid)
 
subroutine, public mpp_pset_delete (pset)
 
subroutine, public mpp_pset_get_root_pelist (pset, pelist, commid)
 
subroutine, public mpp_pset_init
 
integer function, public mpp_pset_numroots (pset)
 
subroutine mpp_pset_print_chksum_1d (pset, caller, array)
 
subroutine mpp_pset_print_chksum_1d (pset, caller, array)
 
subroutine mpp_pset_print_chksum_2d (pset, caller, array)
 
subroutine mpp_pset_print_chksum_2d (pset, caller, array)
 
subroutine mpp_pset_print_chksum_3d (pset, caller, array)
 
subroutine mpp_pset_print_chksum_3d (pset, caller, array)
 
subroutine mpp_pset_print_chksum_4d (pset, caller, array)
 
subroutine mpp_pset_print_chksum_4d (pset, caller, array)
 
subroutine, public mpp_pset_print_stack_chksum (pset, caller)
 
logical function, public mpp_pset_root (pset)
 
subroutine, public mpp_pset_segment_array (pset, ls, le, lsp, lep)
 
subroutine, public mpp_pset_stack_push (pset, ptr, len)
 
subroutine, public mpp_pset_stack_reset (pset)
 
subroutine, public mpp_pset_sync (pset)
 
subroutine mpp_recv_ptr_array (ptr, pe)
 
subroutine mpp_recv_ptr_array (ptr, pe)
 
subroutine mpp_recv_ptr_scalar (ptr, pe)
 
subroutine mpp_recv_ptr_scalar (ptr, pe)
 
subroutine mpp_send_ptr_array (ptr, pe)
 
subroutine mpp_send_ptr_array (ptr, pe)
 
subroutine mpp_send_ptr_scalar (ptr, pe)
 
subroutine mpp_send_ptr_scalar (ptr, pe)
 
subroutine mpp_translate_remote_ptr (ptr, pe)
 

Variables

integer commid
 
integer commid
 
integer hiwm
 
logical initialized =.FALSE.
 
integer lstack
 
integer maxstack
 
logical module_is_initialized =.FALSE.
 
character(len=32) name
 
integer next_in_pset
 
integer npset
 
integer(pointer_kind) p_stack
 
integer, dimension(:), allocatable pelist
 
integer pos
 
integer prev_in_pset
 
integer, dimension(:), allocatable pset
 
logical root
 
integer root_in_pset
 
integer, dimension(:), allocatable root_pelist
 
real, dimension(:), allocatable stack
 
character(len=256) text
 
logical verbose =.FALSE.
 

Detailed Description

Handles PSETs(Persistent Shared-memory Execution Threads) for mpp modules.

Author
V. Balaji (v.bal.nosp@m.aji@.nosp@m.noaa..nosp@m.gov)
Date
2006-01-15

Data Type Documentation

◆ mpp_pset_mod::mpp_pset_broadcast_ptr

interface mpp_pset_mod::mpp_pset_broadcast_ptr

Definition at line 49 of file mpp_pset.F90.

Public Member Functions

subroutine mpp_pset_broadcast_ptr_array (pset, ptr)
 
subroutine mpp_pset_broadcast_ptr_scalar (pset, ptr)
 

◆ mpp_pset_mod::mpp_pset_print_chksum

interface mpp_pset_mod::mpp_pset_print_chksum

Definition at line 61 of file mpp_pset.F90.

Public Member Functions

subroutine mpp_pset_print_chksum_1d (pset, caller, array)
 
subroutine mpp_pset_print_chksum_2d (pset, caller, array)
 
subroutine mpp_pset_print_chksum_3d (pset, caller, array)
 
subroutine mpp_pset_print_chksum_4d (pset, caller, array)
 

◆ mpp_pset_mod::mpp_pset_type

type mpp_pset_mod::mpp_pset_type

Definition at line 68 of file mpp_pset.F90.

Collaboration diagram for mpp_pset_type:
[legend]

Public Attributes

integer commid
 
integer hiwm
 
logical initialized =.FALSE.
 
integer lstack
 
integer maxstack
 
character(len=32) name
 
integer next_in_pset
 
integer(pointer_kind) p_stack
 
integer, dimension(:), allocatable pelist
 
integer pos
 
integer prev_in_pset
 
integer, dimension(:), allocatable pset
 
logical root
 
integer root_in_pset
 
integer, dimension(:), allocatable root_pelist
 
real, dimension(:), allocatable stack
 

Private Attributes

integer npset
 

◆ mpp_pset_mod::mpp_recv_ptr

interface mpp_pset_mod::mpp_recv_ptr

Definition at line 57 of file mpp_pset.F90.

Public Member Functions

subroutine mpp_recv_ptr_array (ptr, pe)
 
subroutine mpp_recv_ptr_scalar (ptr, pe)
 

◆ mpp_pset_mod::mpp_send_ptr

interface mpp_pset_mod::mpp_send_ptr

Definition at line 53 of file mpp_pset.F90.

Public Member Functions

subroutine mpp_send_ptr_array (ptr, pe)
 
subroutine mpp_send_ptr_scalar (ptr, pe)
 

Function/Subroutine Documentation

◆ mpp_pset_broadcast()

subroutine, public mpp_pset_broadcast ( type(mpp_pset_type), intent(in)  pset,
real, intent(inout)  a 
)

Definition at line 290 of file mpp_pset.F90.

◆ mpp_pset_broadcast_ptr_array() [1/2]

subroutine mpp_pset_broadcast_ptr_array ( type(mpp_pset_type), intent(in)  pset,
integer(pointer_kind), dimension(:), intent(inout)  ptr 
)

Definition at line 329 of file mpp_pset.F90.

◆ mpp_pset_broadcast_ptr_array() [2/2]

subroutine mpp_pset_broadcast_ptr_array ( type(mpp_pset_type), intent(in)  pset,
integer(pointer_kind), dimension(:), intent(inout)  ptr 
)
private

Definition at line 329 of file mpp_pset.F90.

◆ mpp_pset_broadcast_ptr_scalar() [1/2]

subroutine mpp_pset_broadcast_ptr_scalar ( type(mpp_pset_type), intent(in)  pset,
integer(pointer_kind), intent(inout)  ptr 
)

Definition at line 308 of file mpp_pset.F90.

◆ mpp_pset_broadcast_ptr_scalar() [2/2]

subroutine mpp_pset_broadcast_ptr_scalar ( type(mpp_pset_type), intent(in)  pset,
integer(pointer_kind), intent(inout)  ptr 
)
private

Definition at line 308 of file mpp_pset.F90.

◆ mpp_pset_check_ptr()

subroutine, public mpp_pset_check_ptr ( type(mpp_pset_type), intent(in)  pset,
integer(pointer_kind), intent(in)  ptr 
)

Definition at line 351 of file mpp_pset.F90.

◆ mpp_pset_create()

subroutine, public mpp_pset_create ( integer, intent(in)  npset,
type(mpp_pset_type), intent(inout)  pset,
integer, intent(in), optional  stacksize,
integer, dimension(:), intent(in), optional  pelist,
integer, intent(in), optional  commid 
)

Definition at line 103 of file mpp_pset.F90.

◆ mpp_pset_delete()

subroutine, public mpp_pset_delete ( type(mpp_pset_type), intent(inout)  pset)

Definition at line 214 of file mpp_pset.F90.

◆ mpp_pset_get_root_pelist()

subroutine, public mpp_pset_get_root_pelist ( type(mpp_pset_type), intent(in)  pset,
integer, dimension(:), intent(out)  pelist,
integer, intent(out), optional  commid 
)

Definition at line 561 of file mpp_pset.F90.

◆ mpp_pset_init()

subroutine, public mpp_pset_init

Definition at line 99 of file mpp_pset.F90.

◆ mpp_pset_numroots()

integer function, public mpp_pset_numroots ( type(mpp_pset_type), intent(in)  pset)

Definition at line 551 of file mpp_pset.F90.

◆ mpp_pset_print_chksum_1d() [1/2]

subroutine mpp_pset_print_chksum_1d ( type(mpp_pset_type), intent(in)  pset,
character(len=*), intent(in)  caller,
real, dimension(:), intent(in)  array 
)
private

Definition at line 460 of file mpp_pset.F90.

◆ mpp_pset_print_chksum_1d() [2/2]

subroutine mpp_pset_print_chksum_1d ( type(mpp_pset_type), intent(in)  pset,
character(len=*), intent(in)  caller,
real, dimension(:), intent(in)  array 
)

Definition at line 460 of file mpp_pset.F90.

◆ mpp_pset_print_chksum_2d() [1/2]

subroutine mpp_pset_print_chksum_2d ( type(mpp_pset_type), intent(in)  pset,
character(len=*), intent(in)  caller,
real, dimension(:,:), intent(in)  array 
)
private

Definition at line 489 of file mpp_pset.F90.

◆ mpp_pset_print_chksum_2d() [2/2]

subroutine mpp_pset_print_chksum_2d ( type(mpp_pset_type), intent(in)  pset,
character(len=*), intent(in)  caller,
real, dimension(:,:), intent(in)  array 
)

Definition at line 489 of file mpp_pset.F90.

◆ mpp_pset_print_chksum_3d() [1/2]

subroutine mpp_pset_print_chksum_3d ( type(mpp_pset_type), intent(in)  pset,
character(len=*), intent(in)  caller,
real, dimension(:,:,:), intent(in)  array 
)
private

Definition at line 503 of file mpp_pset.F90.

◆ mpp_pset_print_chksum_3d() [2/2]

subroutine mpp_pset_print_chksum_3d ( type(mpp_pset_type), intent(in)  pset,
character(len=*), intent(in)  caller,
real, dimension(:,:,:), intent(in)  array 
)

Definition at line 503 of file mpp_pset.F90.

◆ mpp_pset_print_chksum_4d() [1/2]

subroutine mpp_pset_print_chksum_4d ( type(mpp_pset_type), intent(in)  pset,
character(len=*), intent(in)  caller,
real, dimension(:,:,:,:), intent(in)  array 
)
private

Definition at line 517 of file mpp_pset.F90.

◆ mpp_pset_print_chksum_4d() [2/2]

subroutine mpp_pset_print_chksum_4d ( type(mpp_pset_type), intent(in)  pset,
character(len=*), intent(in)  caller,
real, dimension(:,:,:,:), intent(in)  array 
)

Definition at line 517 of file mpp_pset.F90.

◆ mpp_pset_print_stack_chksum()

subroutine, public mpp_pset_print_stack_chksum ( type(mpp_pset_type), intent(in)  pset,
character(len=*), intent(in)  caller 
)

Definition at line 531 of file mpp_pset.F90.

◆ mpp_pset_root()

logical function, public mpp_pset_root ( type(mpp_pset_type), intent(in)  pset)

Definition at line 542 of file mpp_pset.F90.

◆ mpp_pset_segment_array()

subroutine, public mpp_pset_segment_array ( type(mpp_pset_type), intent(in)  pset,
integer, intent(in)  ls,
integer, intent(in)  le,
integer, intent(out)  lsp,
integer, intent(out)  lep 
)

Definition at line 383 of file mpp_pset.F90.

◆ mpp_pset_stack_push()

subroutine, public mpp_pset_stack_push ( type(mpp_pset_type), intent(inout)  pset,
integer(pointer_kind), intent(out)  ptr,
integer, intent(in)  len 
)

Definition at line 410 of file mpp_pset.F90.

◆ mpp_pset_stack_reset()

subroutine, public mpp_pset_stack_reset ( type(mpp_pset_type), intent(inout)  pset)

Definition at line 444 of file mpp_pset.F90.

◆ mpp_pset_sync()

subroutine, public mpp_pset_sync ( type(mpp_pset_type), intent(in)  pset)

Definition at line 278 of file mpp_pset.F90.

◆ mpp_recv_ptr_array() [1/2]

subroutine mpp_recv_ptr_array ( integer(pointer_kind), dimension(:), intent(inout)  ptr,
integer, intent(in)  pe 
)
private

Definition at line 259 of file mpp_pset.F90.

◆ mpp_recv_ptr_array() [2/2]

subroutine mpp_recv_ptr_array ( integer(pointer_kind), dimension(:), intent(inout)  ptr,
integer, intent(in)  pe 
)

Definition at line 259 of file mpp_pset.F90.

◆ mpp_recv_ptr_scalar() [1/2]

subroutine mpp_recv_ptr_scalar ( integer(pointer_kind), intent(inout)  ptr,
integer, intent(in)  pe 
)

Definition at line 250 of file mpp_pset.F90.

◆ mpp_recv_ptr_scalar() [2/2]

subroutine mpp_recv_ptr_scalar ( integer(pointer_kind), intent(inout)  ptr,
integer, intent(in)  pe 
)
private

Definition at line 250 of file mpp_pset.F90.

◆ mpp_send_ptr_array() [1/2]

subroutine mpp_send_ptr_array ( integer(pointer_kind), dimension(:), intent(in)  ptr,
integer, intent(in)  pe 
)

Definition at line 241 of file mpp_pset.F90.

◆ mpp_send_ptr_array() [2/2]

subroutine mpp_send_ptr_array ( integer(pointer_kind), dimension(:), intent(in)  ptr,
integer, intent(in)  pe 
)
private

Definition at line 241 of file mpp_pset.F90.

◆ mpp_send_ptr_scalar() [1/2]

subroutine mpp_send_ptr_scalar ( integer(pointer_kind), intent(in)  ptr,
integer, intent(in)  pe 
)
private

Definition at line 232 of file mpp_pset.F90.

◆ mpp_send_ptr_scalar() [2/2]

subroutine mpp_send_ptr_scalar ( integer(pointer_kind), intent(in)  ptr,
integer, intent(in)  pe 
)

Definition at line 232 of file mpp_pset.F90.

◆ mpp_translate_remote_ptr()

subroutine mpp_translate_remote_ptr ( integer(pointer_kind), intent(inout)  ptr,
integer, intent(in)  pe 
)
private

Definition at line 271 of file mpp_pset.F90.

Variable Documentation

◆ commid [1/2]

integer commid
private

Definition at line 44 of file mpp_pset.F90.

◆ commid [2/2]

integer commid

Definition at line 83 of file mpp_pset.F90.

◆ hiwm

integer hiwm

Definition at line 82 of file mpp_pset.F90.

◆ initialized

logical initialized =.FALSE.

Definition at line 85 of file mpp_pset.F90.

◆ lstack

integer lstack

Definition at line 82 of file mpp_pset.F90.

◆ maxstack

integer maxstack

Definition at line 82 of file mpp_pset.F90.

◆ module_is_initialized

logical module_is_initialized =.FALSE.
private

Definition at line 46 of file mpp_pset.F90.

◆ name

character(len=32) name

Definition at line 84 of file mpp_pset.F90.

◆ next_in_pset

integer next_in_pset

Definition at line 71 of file mpp_pset.F90.

◆ npset

integer npset
private

Definition at line 70 of file mpp_pset.F90.

◆ p_stack

integer(pointer_kind) p_stack

Definition at line 81 of file mpp_pset.F90.

◆ pelist

integer, dimension(:), allocatable pelist

Definition at line 78 of file mpp_pset.F90.

◆ pos

integer pos

Definition at line 74 of file mpp_pset.F90.

◆ prev_in_pset

integer prev_in_pset

Definition at line 71 of file mpp_pset.F90.

◆ pset

integer, dimension(:), allocatable pset

Definition at line 80 of file mpp_pset.F90.

◆ root

logical root

Definition at line 73 of file mpp_pset.F90.

◆ root_in_pset

integer root_in_pset

Definition at line 72 of file mpp_pset.F90.

◆ root_pelist

integer, dimension(:), allocatable root_pelist

Definition at line 79 of file mpp_pset.F90.

◆ stack

real, dimension(:), allocatable stack

Definition at line 77 of file mpp_pset.F90.

◆ text

character(len=256) text
private

Definition at line 47 of file mpp_pset.F90.

◆ verbose

logical verbose =.FALSE.
private

Definition at line 45 of file mpp_pset.F90.