private pure subroutine pack_pipelined_f32_block_32(in, out, dims, locals)
Pack part in buffer into contiguous buffer in order to send to a single rank, real(real32) version.
For 3D arrays:
out(out_displacement + z * nxx * nyy + y * nxx + x) = in(x + in_displacement, y, z)
where in buffer x,y,z are full slab indices, while out buffer x,y,z are indices that are to be send to 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~~pack_pipelined_f32_block_32~~CalledByGraph
proc~pack_pipelined_f32_block_32
pack_pipelined_f32_block_32
proc~execute_f32_block_32
execute_f32_block_32
proc~execute_f32_block_32->proc~pack_pipelined_f32_block_32
proc~pack_f32_block_32
pack_f32_block_32
proc~execute_f32_block_32->proc~pack_f32_block_32
proc~pack_f32_block_32->proc~pack_pipelined_f32_block_32
proc~run_pack_unpack
run_pack_unpack
proc~run_pack_unpack->proc~pack_f32_block_32
program~test_host_kernels
test_host_kernels
program~test_host_kernels->proc~run_pack_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.