g2l_conn_core Interface

interface

**m Connectivity/free_conn

NAME free_conn USAGE call free_conn(a2b)

DESCRIPTION Destructor

INPUTS a2b :: type(connectivity) The connectivity to be destroyed;


**f Connectivity/bcast_conn

NAME bcast_conn USAGE

 call bcast_conn(a2b)

DESCRIPTION Distribute a copy of the connectivity from process 0 to everybody else.

INPUTS a2b :: type(connectivity) The connectivity to be broadcast;


**m Connectivity/get_ith_conn

NAME get_ith_conn USAGE call get_ith_conn(ith_conn,a2b,i)

DESCRIPTION Getter. Access the I-th row in the connectivity table. Returns a pointer to the requested row. Note: returning a pointer and not a copy, because it is used in tight loops; user should NEVER modify nor deallocate the returned pointer.

INPUTS a2b :: type(connectivity), intent(in), target The connectivity to be accessed; i :: integer Request access to the I-th row; OUTPUT ith_conn(:) :: integer, pointer A pointer to the i-th row;


**m Connectivity/get_conn_csr

NAME get_conn_csr USAGE call get_conn_csr(a2b,lookup,conn)

DESCRIPTION Get a full copy of the connectivity table in CSR format. Being a copy the user may do as he/she pleases with it, and should remember to deallocate it.

INPUTS a2b :: type(connectivity), intent(in) The connectivity to be accessed; OUTPUT lookup(:) :: integer, allocatable conn(:) :: integer, allocatable A copy of the lookup table. The neighbours of item I are listed at CONN(lookup(i):lookup(i+1)-1)



Calls

interface~~g2l_conn_core~~CallsGraph interface~g2l_conn_core g2l_conn_core proc~g2l_conn_core g2l_conn_core interface~g2l_conn_core->proc~g2l_conn_core interface~alloc_conn alloc_conn proc~g2l_conn_core->interface~alloc_conn interface~free_conn free_conn proc~g2l_conn_core->interface~free_conn proc~alloc_conn alloc_conn interface~alloc_conn->proc~alloc_conn proc~free_conn free_conn interface~free_conn->proc~free_conn interface~abort_psblas abort_psblas proc~free_conn->interface~abort_psblas proc~alloc_conn->interface~abort_psblas proc~abort_psblas abort_psblas interface~abort_psblas->proc~abort_psblas psb_abort psb_abort proc~abort_psblas->psb_abort

private module subroutine g2l_conn_core(a2b, iglob_to_loc_a, iloc_to_glob_b)

Arguments

Type IntentOptional AttributesName
class(connectivity), intent(inout) :: a2b
integer, intent(in) :: iglob_to_loc_a(:)
integer, intent(in) :: iloc_to_glob_b(:)

IP - 5/27/2019: This work-around fixes an ICE with Intel 18.0.5.274 Note: The ICE only shows up when building the submodule that implements this procedure