Creates forward and backward transpose plans bases on source and target data distributing,
executes them DTFFT_MEASURE_ITERS
times ( 4 * DTFFT_MEASURE_ITERS
iterations total )
Returns elapsed time for best plans selected
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(transpose_plan_host), | intent(in) | :: | self |
Abstract plan |
||
type(MPI_Comm), | intent(in) | :: | comm |
1D comm in case of pencils, 3D comm in case of z_slabs |
||
type(MPI_Comm), | intent(in) | :: | cart_comm |
3D Cartesian comm |
||
type(pencil), | intent(in) | :: | from |
Source meta |
||
type(pencil), | intent(in) | :: | to |
Target meta |
||
type(MPI_Datatype), | intent(in) | :: | base_dtype |
Basic MPI Datatype |
||
integer(kind=int64), | intent(in) | :: | base_storage |
Number of bytes needed to store Basic MPI Datatype |
||
integer(kind=int8), | intent(in) | :: | transpose_name_id |
ID of transpose name (from -3 to 3, except 0) |
||
real(kind=real32), | intent(inout) | :: | a(:) |
Source buffer |
||
real(kind=real32), | intent(inout) | :: | b(:) |
Target buffer |
||
integer(kind=int8), | intent(out) | :: | forward_id |
Best forward plan ID |
||
integer(kind=int8), | intent(out) | :: | backward_id |
Best backward plan ID |
Elapsed time for best plans selected