create_private Function

private function create_private(self, sngl_type, sngl_storage_size, dbl_type, dbl_storage_size, dims, pencil, comm, precision, effort, executor, kinds)

Uses

  • proc~~create_private~2~~UsesGraph proc~create_private~2 dtfft_plan_t%create_private iso_c_binding iso_c_binding proc~create_private~2->iso_c_binding iso_fortran_env iso_fortran_env proc~create_private~2->iso_fortran_env

Creates core

Type Bound

dtfft_plan_t

Arguments

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

Abstract plan

type(MPI_Datatype), intent(in) :: sngl_type

MPI_Datatype for single precision plan

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

Number of bytes needed to store single element (single precision)

type(MPI_Datatype), intent(in) :: dbl_type

MPI_Datatype for double precision plan

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

Number of bytes needed to store single element (double precision)

integer(kind=int32), intent(in), optional :: dims(:)

Global dimensions of transform

type(dtfft_pencil_t), intent(in), optional :: pencil

Pencil of local portion of data

type(MPI_Comm), intent(in), optional :: comm

User-defined communicator

type(dtfft_precision_t), intent(in), optional :: precision

Precision of transform: DTFFT_SINGLE or DTFFT_DOUBLE

type(dtfft_effort_t), intent(in), optional :: effort

How thoroughly dtFFT searches for the optimal plan

type(dtfft_executor_t), intent(in), optional :: executor

Type of External FFT Executor

type(dtfft_r2r_kind_t), intent(in), optional :: kinds(:)

Kinds of R2R transform

Return Value integer(kind=int32)


Calls

proc~~create_private~2~~CallsGraph proc~create_private~2 dtfft_plan_t%create_private counts counts proc~create_private~2->counts create create proc~create_private~2->create fixed_dims fixed_dims proc~create_private~2->fixed_dims interface~cudagetdevice cudaGetDevice proc~create_private~2->interface~cudagetdevice interface~cudagetdevicecount cudaGetDeviceCount proc~create_private~2->interface~cudagetdevicecount interface~to_str to_str proc~create_private~2->interface~to_str local_devices local_devices proc~create_private~2->local_devices mpi_abort mpi_abort proc~create_private~2->mpi_abort mpi_allgather mpi_allgather proc~create_private~2->mpi_allgather mpi_comm_free mpi_comm_free proc~create_private~2->mpi_comm_free mpi_comm_rank mpi_comm_rank proc~create_private~2->mpi_comm_rank mpi_comm_size mpi_comm_size proc~create_private~2->mpi_comm_size mpi_comm_split_type mpi_comm_split_type proc~create_private~2->mpi_comm_split_type proc~alloc_fft_plans dtfft_plan_t%alloc_fft_plans proc~create_private~2->proc~alloc_fft_plans proc~check_create_args dtfft_plan_t%check_create_args proc~create_private~2->proc~check_create_args proc~count_unique count_unique proc~create_private~2->proc~count_unique proc~cudageterrorstring cudaGetErrorString proc~create_private~2->proc~cudageterrorstring proc~destroy pencil%destroy proc~create_private~2->proc~destroy proc~get_conf_backend get_conf_backend proc~create_private~2->proc~get_conf_backend proc~get_conf_stream get_conf_stream proc~create_private~2->proc~get_conf_stream 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 mpi_topo_test mpi_topo_test proc~check_create_args->mpi_topo_test proc~get_conf_platform get_conf_platform proc~check_create_args->proc~get_conf_platform proc~init_internal init_internal proc~check_create_args->proc~init_internal proc~is_cuda_executor is_cuda_executor proc~check_create_args->proc~is_cuda_executor proc~is_host_executor is_host_executor proc~check_create_args->proc~is_host_executor proc~is_valid_comm_type is_valid_comm_type proc~check_create_args->proc~is_valid_comm_type proc~is_valid_dimension is_valid_dimension proc~check_create_args->proc~is_valid_dimension proc~is_valid_effort is_valid_effort proc~check_create_args->proc~is_valid_effort proc~is_valid_executor is_valid_executor proc~check_create_args->proc~is_valid_executor proc~is_valid_precision is_valid_precision proc~check_create_args->proc~is_valid_precision proc~is_valid_r2r_kind is_valid_r2r_kind proc~check_create_args->proc~is_valid_r2r_kind interface~cudageterrorstring_c cudaGetErrorString_c proc~cudageterrorstring->interface~cudageterrorstring_c proc~string_c2f string_c2f proc~cudageterrorstring->proc~string_c2f proc~get_conf_stream->interface~to_str proc~get_conf_stream->mpi_abort proc~get_conf_stream->proc~cudageterrorstring interface~cudastreamcreate cudaStreamCreate proc~get_conf_stream->interface~cudastreamcreate mpi_initialized mpi_initialized proc~init_internal->mpi_initialized proc~init_environment init_environment proc~init_internal->proc~init_environment backends backends proc~init_environment->backends interface~get_env get_env proc~init_environment->interface~get_env platforms platforms proc~init_environment->platforms proc~destroy_strings destroy_strings proc~init_environment->proc~destroy_strings 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_string string%destroy_string proc~destroy_strings->proc~destroy_string proc~get_env_base->proc~destroy_string proc~get_env_int32->interface~get_env proc~write_message write_message 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~write_message->mpi_comm_rank mpi_finalized mpi_finalized proc~write_message->mpi_finalized

Called by

proc~~create_private~2~~CalledByGraph proc~create_private~2 dtfft_plan_t%create_private proc~create_c2c_core dtfft_core_c2c%create_c2c_core proc~create_c2c_core->proc~create_private~2 proc~create_r2r_internal dtfft_plan_r2r_t%create_r2r_internal proc~create_r2r_internal->proc~create_private~2 proc~create_c2c_internal dtfft_plan_c2c_t%create_c2c_internal proc~create_c2c_internal->proc~create_c2c_core proc~create_r2c_internal dtfft_plan_r2c_t%create_r2c_internal proc~create_r2c_internal->proc~create_c2c_core proc~create_r2r dtfft_plan_r2r_t%create_r2r proc~create_r2r->proc~create_r2r_internal proc~create_r2r_pencil dtfft_plan_r2r_t%create_r2r_pencil proc~create_r2r_pencil->proc~create_r2r_internal proc~create_c2c dtfft_plan_c2c_t%create_c2c proc~create_c2c->proc~create_c2c_internal proc~create_c2c_pencil dtfft_plan_c2c_t%create_c2c_pencil proc~create_c2c_pencil->proc~create_c2c_internal proc~create_r2c dtfft_plan_r2c_t%create_r2c proc~create_r2c->proc~create_r2c_internal proc~create_r2c_pencil dtfft_plan_r2c_t%create_r2c_pencil proc~create_r2c_pencil->proc~create_r2c_internal