is_backend_compatible Function

private pure function is_backend_compatible(backend1, backend2)

Checks if two communication backends are compatible

Backends are compatible if they belong to the same family: MPI backends are compatible with each other, NCCL with NCCL, NVSHMEM with NVSHMEM.

@return .true. if backends are compatible, .false. otherwise

Arguments

Type IntentOptional Attributes Name
type(dtfft_backend_t), intent(in) :: backend1

First backend to compare

type(dtfft_backend_t), intent(in) :: backend2

Second backend to compare

Return Value logical


Calls

proc~~is_backend_compatible~~CallsGraph proc~is_backend_compatible is_backend_compatible proc~is_backend_mpi is_backend_mpi proc~is_backend_compatible->proc~is_backend_mpi proc~is_backend_nccl is_backend_nccl proc~is_backend_compatible->proc~is_backend_nccl proc~is_backend_nvshmem is_backend_nvshmem proc~is_backend_compatible->proc~is_backend_nvshmem

Called by

proc~~is_backend_compatible~~CalledByGraph proc~is_backend_compatible is_backend_compatible proc~autotune_reshape_plan autotune_reshape_plan proc~autotune_reshape_plan->proc~is_backend_compatible proc~create~9 reshape_plan%create proc~create~9->proc~is_backend_compatible proc~create~9->proc~autotune_reshape_plan