public pure subroutine unpack_pipelined_f32_block_32(in, out, dims, locals)
Unpacks part of contiguous buffer recieved from a single rank.
For 3D arrays:
out(x + in_displacement, y, z) = in(out_displacement + z * nxx * nyy + y * nxx + x)
where out buffer x,y,z are full slab indices, while in buffer x,y,z are indices that were sent from neighbor rank.
Arguments
Type
Intent Optional Attributes
Name
real(kind=real32),
intent(in)
::
in (*)
Source host-allocated buffer
real(kind=real32),
intent(inout)
::
out (*)
Target host-allocated buffer
integer(kind=int32),
intent(in)
::
dims (:)
Dimensions of the array
integer(kind=int32),
intent(in)
::
locals (:)
Neighbor data
proc~~unpack_pipelined_f32_block_32~~CalledByGraph
proc~unpack_pipelined_f32_block_32
unpack_pipelined_f32_block_32
proc~execute_f32_block_32
execute_f32_block_32
proc~execute_f32_block_32->proc~unpack_pipelined_f32_block_32
proc~unpack_f32_block_32
unpack_f32_block_32
proc~execute_f32_block_32->proc~unpack_f32_block_32
proc~run_unpack
run_unpack
proc~run_unpack->proc~unpack_pipelined_f32_block_32
proc~unpack_f32_block_32->proc~unpack_pipelined_f32_block_32
program~test_host_kernels
test_host_kernels
program~test_host_kernels->proc~run_unpack
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.