create_c2c Subroutine

private subroutine create_c2c(self, dims, comm, precision, effort, executor, error_code)

C2C Plan Constructor

Type Bound

dtfft_plan_c2c_t

Arguments

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

C2C Plan

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

Global dimensions of transform

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

Communicator

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

Presicion of Transform

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

integer(kind=int32), intent(out), optional :: error_code

Optional Error Code returned to user


Calls

proc~~create_c2c~~CallsGraph proc~create_c2c dtfft_plan_c2c_t%create_c2c proc~create_c2c_internal dtfft_core_c2c%create_c2c_internal proc~create_c2c->proc~create_c2c_internal proc~dtfft_get_error_string dtfft_get_error_string proc~create_c2c->proc~dtfft_get_error_string proc~get_log_enabled get_log_enabled proc~create_c2c->proc~get_log_enabled proc~pop_nvtx_domain_range pop_nvtx_domain_range proc~create_c2c->proc~pop_nvtx_domain_range proc~push_nvtx_domain_range push_nvtx_domain_range proc~create_c2c->proc~push_nvtx_domain_range proc~write_message write_message proc~create_c2c->proc~write_message create create proc~create_c2c_internal->create fft_mapping fft_mapping proc~create_c2c_internal->fft_mapping pencils pencils proc~create_c2c_internal->pencils proc~create_private dtfft_plan_t%create_private proc~create_c2c_internal->proc~create_private interface~nvtxdomainrangepop_c nvtxDomainRangePop_c proc~pop_nvtx_domain_range->interface~nvtxdomainrangepop_c interface~nvtxdomainrangepushex_c nvtxDomainRangePushEx_c proc~push_nvtx_domain_range->interface~nvtxdomainrangepushex_c proc~astring_f2c astring_f2c proc~push_nvtx_domain_range->proc~astring_f2c proc~create_nvtx_domain create_nvtx_domain proc~push_nvtx_domain_range->proc~create_nvtx_domain mpi_comm_rank mpi_comm_rank proc~write_message->mpi_comm_rank mpi_finalized mpi_finalized proc~write_message->mpi_finalized proc~string_f2c string_f2c proc~astring_f2c->proc~string_f2c proc~create_nvtx_domain->proc~astring_f2c interface~nvtxdomaincreate_c nvtxDomainCreate_c proc~create_nvtx_domain->interface~nvtxdomaincreate_c proc~create_private->mpi_comm_rank 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_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->proc~get_log_enabled proc~create~4->proc~write_message 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~create~4->proc~get_user_platform proc~get_z_slab get_z_slab proc~create~4->proc~get_z_slab 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~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