create_private Function

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

Uses

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

Creates core

Type Bound

dtfft_plan_t

Arguments

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

Abstract plan

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

Global dimensions of transform

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)

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~~CallsGraph proc~create_private dtfft_plan_t%create_private interface~cudagetdevice cudaGetDevice proc~create_private->interface~cudagetdevice interface~cudagetdevicecount cudaGetDeviceCount proc~create_private->interface~cudagetdevicecount interface~int_to_str int_to_str proc~create_private->interface~int_to_str local_devices local_devices proc~create_private->local_devices mpi_abort mpi_abort proc~create_private->mpi_abort mpi_allgather mpi_allgather proc~create_private->mpi_allgather mpi_comm_free mpi_comm_free proc~create_private->mpi_comm_free mpi_comm_rank mpi_comm_rank proc~create_private->mpi_comm_rank mpi_comm_size mpi_comm_size proc~create_private->mpi_comm_size mpi_comm_split_type mpi_comm_split_type proc~create_private->mpi_comm_split_type proc~alloc_fft_plans dtfft_plan_t%alloc_fft_plans proc~create_private->proc~alloc_fft_plans proc~check_create_args dtfft_plan_t%check_create_args proc~create_private->proc~check_create_args proc~count_unique count_unique proc~create_private->proc~count_unique proc~create~4 abstract_transpose_plan%create proc~create_private->proc~create~4 proc~cudageterrorstring cudaGetErrorString proc~create_private->proc~cudageterrorstring proc~get_user_gpu_backend get_user_gpu_backend proc~create_private->proc~get_user_gpu_backend proc~get_user_stream get_user_stream proc~create_private->proc~get_user_stream proc~int_to_str_int32 int_to_str_int32 interface~int_to_str->proc~int_to_str_int32 proc~int_to_str_int64 int_to_str_int64 interface~int_to_str->proc~int_to_str_int64 proc~int_to_str_int8 int_to_str_int8 interface~int_to_str->proc~int_to_str_int8 mpi_topo_test mpi_topo_test proc~check_create_args->mpi_topo_test proc~get_user_platform get_user_platform proc~check_create_args->proc~get_user_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 proc~create~4->interface~int_to_str proc~create~4->mpi_comm_size create_private create_private proc~create~4->create_private mpi_cart_get mpi_cart_get proc~create~4->mpi_cart_get mpi_cartdim_get mpi_cartdim_get proc~create~4->mpi_cartdim_get mpi_dims_create mpi_dims_create proc~create~4->mpi_dims_create proc~create~4->mpi_topo_test proc~get_local_sizes~2 get_local_sizes proc~create~4->proc~get_local_sizes~2 proc~get_log_enabled get_log_enabled proc~create~4->proc~get_log_enabled proc~create~4->proc~get_user_platform proc~get_z_slab get_z_slab proc~create~4->proc~get_z_slab proc~write_message write_message proc~create~4->proc~write_message temp_coords temp_coords proc~create~4->temp_coords temp_dims temp_dims proc~create~4->temp_dims temp_periods temp_periods proc~create~4->temp_periods interface~cudageterrorstring_c cudaGetErrorString_c proc~cudageterrorstring->interface~cudageterrorstring_c proc~string_c2f string_c2f proc~cudageterrorstring->proc~string_c2f proc~get_backend_from_env get_backend_from_env proc~get_user_gpu_backend->proc~get_backend_from_env proc~get_user_stream->interface~int_to_str proc~get_user_stream->mpi_abort proc~get_user_stream->proc~cudageterrorstring interface~cudastreamcreate cudaStreamCreate proc~get_user_stream->interface~cudastreamcreate proc~get_platform_from_env get_platform_from_env proc~get_user_platform->proc~get_platform_from_env proc~get_z_slab_from_env get_z_slab_from_env proc~get_z_slab->proc~get_z_slab_from_env backends backends proc~init_internal->backends interface~get_env get_env proc~init_internal->interface~get_env mpi_initialized mpi_initialized proc~init_internal->mpi_initialized platforms platforms proc~init_internal->platforms proc~destroy_strings destroy_strings proc~init_internal->proc~destroy_strings proc~write_message->mpi_comm_rank mpi_finalized mpi_finalized proc~write_message->mpi_finalized 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~get_env_int32->proc~get_log_enabled proc~get_env_int32->proc~write_message proc~get_env_int32->interface~get_env proc~get_env_int8->interface~get_env proc~get_env_logical->interface~get_env proc~get_env_string->proc~get_log_enabled proc~get_env_string->proc~write_message proc~get_env_string->interface~get_env

Called by

proc~~create_private~~CalledByGraph proc~create_private dtfft_plan_t%create_private proc~create_c2c_internal dtfft_core_c2c%create_c2c_internal proc~create_c2c_internal->proc~create_private proc~create_r2r dtfft_plan_r2r_t%create_r2r proc~create_r2r->proc~create_private proc~create_c2c dtfft_plan_c2c_t%create_c2c proc~create_c2c->proc~create_c2c_internal proc~create_r2c dtfft_plan_r2c_t%create_r2c proc~create_r2c->proc~create_c2c_internal