pack_pipelined_f32 Subroutine

private pure subroutine pack_pipelined_f32(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 IntentOptional 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


Called by

proc~~pack_pipelined_f32~~CalledByGraph proc~pack_pipelined_f32 pack_pipelined_f32 proc~pack_f32 pack_f32 proc~pack_f32->proc~pack_pipelined_f32 proc~execute_f32 execute_f32 proc~execute_f32->proc~pack_f32