Runs through all possible grid decompositions and selects the best one based on the lowest average execution time
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(transpose_plan_host), | intent(in) | :: | self |
Abstract plan |
||
integer(kind=int32), | intent(in) | :: | dims(:) |
Global dims |
||
integer(kind=int32), | intent(in) | :: | transposed_dims(:,:) |
Transposed dims |
||
type(MPI_Comm), | intent(in) | :: | base_comm |
Base communicator |
||
type(dtfft_effort_t), | intent(in) | :: | effort |
How thoroughly |
||
integer(kind=int8), | intent(in) | :: | n_transpose_plans |
Number of transpose plans to test |
||
type(MPI_Datatype), | intent(in) | :: | base_dtype |
Base MPI_Datatype |
||
integer(kind=int64), | intent(in) | :: | base_storage |
Number of bytes needed to store single element |
||
integer(kind=int32), | intent(out) | :: | best_comm_dims(:) |
Best communicator dimensions |
||
integer(kind=int8), | intent(inout) | :: | best_forward_ids(:) |
Best Datatype ids for forward plan |
||
integer(kind=int8), | intent(inout) | :: | best_backward_ids(:) |
Best Datatype ids for backward plan |