create_c2c_pencil Subroutine

private subroutine create_c2c_pencil(self, pencil, 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

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

Local pencil of data to be transformed

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_pencil~~CallsGraph proc~create_c2c_pencil dtfft_plan_c2c_t%create_c2c_pencil proc~create_c2c_internal dtfft_plan_c2c_t%create_c2c_internal proc~create_c2c_pencil->proc~create_c2c_internal proc~dtfft_get_error_string dtfft_get_error_string proc~create_c2c_pencil->proc~dtfft_get_error_string proc~write_message write_message proc~create_c2c_pencil->proc~write_message proc~create_c2c_core dtfft_core_c2c%create_c2c_core proc~create_c2c_internal->proc~create_c2c_core proc~pop_nvtx_domain_range pop_nvtx_domain_range proc~create_c2c_internal->proc~pop_nvtx_domain_range proc~push_nvtx_domain_range push_nvtx_domain_range proc~create_c2c_internal->proc~push_nvtx_domain_range mpi_comm_rank mpi_comm_rank proc~write_message->mpi_comm_rank mpi_finalized mpi_finalized proc~write_message->mpi_finalized create create proc~create_c2c_core->create fft_mapping fft_mapping proc~create_c2c_core->fft_mapping pencils pencils proc~create_c2c_core->pencils proc~create_private~2 dtfft_plan_t%create_private proc~create_c2c_core->proc~create_private~2 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 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~2->mpi_comm_rank proc~create_private~2->create counts counts proc~create_private~2->counts 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_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->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~write_message proc~get_env_string->interface~get_env