create_helper Subroutine

private subroutine create_helper(self, platform, base_comm, comms, is_nccl_needed, pencils)

Uses

  • proc~~create_helper~2~~UsesGraph proc~create_helper~2 backend_helper%create_helper iso_c_binding iso_c_binding proc~create_helper~2->iso_c_binding iso_fortran_env iso_fortran_env proc~create_helper~2->iso_fortran_env

Creates helper

Type Bound

backend_helper

Arguments

Type IntentOptional Attributes Name
class(backend_helper), intent(inout) :: self

Backend helper

type(dtfft_platform_t), intent(in) :: platform

Platform to use

type(MPI_Comm), intent(in) :: base_comm

MPI communicator

type(MPI_Comm), intent(in) :: comms(:)

1D Communicators

logical, intent(in) :: is_nccl_needed

If nccl communicator will be needed

type(pencil), intent(in), target :: pencils(:)

Pencils


Calls

proc~~create_helper~2~~CallsGraph proc~create_helper~2 backend_helper%create_helper fname fname proc~create_helper~2->fname interface~get_env get_env proc~create_helper~2->interface~get_env interface~ncclcomminitrank ncclCommInitRank proc~create_helper~2->interface~ncclcomminitrank interface~ncclgetuniqueid ncclGetUniqueId proc~create_helper~2->interface~ncclgetuniqueid mpi_abort mpi_abort proc~create_helper~2->mpi_abort mpi_allgather mpi_allgather proc~create_helper~2->mpi_allgather mpi_bcast mpi_bcast proc~create_helper~2->mpi_bcast mpi_comm_rank mpi_comm_rank proc~create_helper~2->mpi_comm_rank mpi_comm_size mpi_comm_size proc~create_helper~2->mpi_comm_size proc~destroy_helper~2 backend_helper%destroy_helper proc~create_helper~2->proc~destroy_helper~2 proc~ncclgeterrorstring ncclGetErrorString proc~create_helper~2->proc~ncclgeterrorstring proc~get_env_base get_env_base interface~get_env->proc~get_env_base proc~get_env_int32 get_env_int32 interface~get_env->proc~get_env_int32 proc~get_env_int8 get_env_int8 interface~get_env->proc~get_env_int8 proc~get_env_logical get_env_logical interface~get_env->proc~get_env_logical proc~get_env_string get_env_string interface~get_env->proc~get_env_string proc~destroy_helper~2->fname proc~destroy_helper~2->mpi_abort proc~destroy_helper~2->proc~ncclgeterrorstring interface~ncclcommdestroy ncclCommDestroy proc~destroy_helper~2->interface~ncclcommdestroy proc~write_message write_message proc~destroy_helper~2->proc~write_message interface~ncclgeterrorstring_c ncclGetErrorString_c proc~ncclgeterrorstring->interface~ncclgeterrorstring_c proc~string_c2f string_c2f proc~ncclgeterrorstring->proc~string_c2f proc~destroy_string string%destroy_string proc~get_env_base->proc~destroy_string proc~get_env_int32->interface~get_env proc~get_env_int32->proc~write_message proc~get_env_int8->interface~get_env proc~get_env_logical->interface~get_env proc~get_env_string->interface~get_env proc~get_env_string->proc~write_message proc~get_env_string->proc~destroy_string interface~is_null_ptr is_null_ptr proc~string_c2f->interface~is_null_ptr proc~write_message->mpi_comm_rank mpi_finalized mpi_finalized proc~write_message->mpi_finalized interface~is_null_ptr->interface~is_null_ptr proc~is_null_funptr is_null_funptr interface~is_null_ptr->proc~is_null_funptr

Called by

proc~~create_helper~2~~CalledByGraph proc~create_helper~2 backend_helper%create_helper proc~create transpose_plan%create proc~create->proc~create_helper~2 proc~run_autotune_backend run_autotune_backend proc~create->proc~run_autotune_backend proc~autotune_grid_decomposition autotune_grid_decomposition proc~create->proc~autotune_grid_decomposition proc~run_autotune_backend->proc~create_helper~2 proc~autotune_grid autotune_grid proc~autotune_grid->proc~run_autotune_backend proc~autotune_grid_decomposition->proc~autotune_grid