create Subroutine

private subroutine create(self, backend, tranpose_type, helper, comm_id, send_displs, send_counts, recv_displs, recv_counts, base_storage)

Uses

  • proc~~create~10~~UsesGraph proc~create~10 abstract_backend%create iso_c_binding iso_c_binding proc~create~10->iso_c_binding iso_fortran_env iso_fortran_env proc~create~10->iso_fortran_env

Creates Abstract GPU Backend

Type Bound

abstract_backend

Arguments

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

Abstract GPU Backend

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

GPU Backend type

type(dtfft_transpose_t), intent(in) :: tranpose_type

Type of transpose to create

type(backend_helper), intent(in) :: helper

Backend helper

integer(kind=int8), intent(in) :: comm_id

Id of communicator to use

integer(kind=int32), intent(in) :: send_displs(:)

Send data displacements, in original elements

integer(kind=int32), intent(in) :: send_counts(:)

Send data elements, in float elements

integer(kind=int32), intent(in) :: recv_displs(:)

Recv data displacements, in float elements

integer(kind=int32), intent(in) :: recv_counts(:)

Recv data elements, in float elements

integer(kind=int64), intent(in) :: base_storage

Number of bytes to store single element


Calls

proc~~create~10~~CallsGraph proc~create~10 abstract_backend%create create_private create_private proc~create~10->create_private interface~cudaeventcreatewithflags cudaEventCreateWithFlags proc~create~10->interface~cudaeventcreatewithflags interface~cudastreamcreate cudaStreamCreate proc~create~10->interface~cudastreamcreate interface~to_str to_str proc~create~10->interface~to_str mpi_abort mpi_abort proc~create~10->mpi_abort mpi_comm_rank mpi_comm_rank proc~create~10->mpi_comm_rank mpi_comm_size mpi_comm_size proc~create~10->mpi_comm_size proc~cudageterrorstring cudaGetErrorString proc~create~10->proc~cudageterrorstring proc~is_backend_mpi is_backend_mpi proc~create~10->proc~is_backend_mpi proc~is_backend_pipelined is_backend_pipelined proc~create~10->proc~is_backend_pipelined proc~double_to_string double_to_string interface~to_str->proc~double_to_string proc~float_to_string float_to_string interface~to_str->proc~float_to_string proc~int32_to_string int32_to_string interface~to_str->proc~int32_to_string proc~int64_to_string int64_to_string interface~to_str->proc~int64_to_string proc~int8_to_string int8_to_string interface~to_str->proc~int8_to_string interface~cudageterrorstring_c cudaGetErrorString_c proc~cudageterrorstring->interface~cudageterrorstring_c proc~string_c2f string_c2f proc~cudageterrorstring->proc~string_c2f