get_transpose_kernel Subroutine

private subroutine get_transpose_kernel(comm, kernel_name, dims, transpose_type, kernel_type, base_storage, props, config, blocks, threads, kernel)

Arguments

Type IntentOptional Attributes Name
type(MPI_Comm), intent(in) :: comm

MPI Communicator

character(len=*), intent(in) :: kernel_name
integer(kind=int32), intent(in) :: dims(:)

Local dimensions to process

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

Type of transposition to perform

type(kernel_type_t), intent(in) :: kernel_type

Type of kernel to build

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

Number of bytes needed to store single element

type(device_props), intent(in) :: props
type(kernel_config), intent(in) :: config
type(dim3), intent(out) :: blocks
type(dim3), intent(out) :: threads
type(CUfunction), intent(out) :: kernel

Compiled kernel to return


Calls

proc~~get_transpose_kernel~~CallsGraph proc~get_transpose_kernel get_transpose_kernel proc~compile_and_cache compile_and_cache proc~get_transpose_kernel->proc~compile_and_cache proc~destroy_code kernel_codegen%destroy_code proc~get_transpose_kernel->proc~destroy_code proc~get_transpose_kernel_code get_transpose_kernel_code proc~get_transpose_kernel->proc~get_transpose_kernel_code interface~to_str to_str proc~compile_and_cache->interface~to_str is_null_ptr is_null_ptr proc~compile_and_cache->is_null_ptr mpi_abort mpi_abort proc~compile_and_cache->mpi_abort proc~add nvrtc_cache%add proc~compile_and_cache->proc~add proc~astring_f2c astring_f2c proc~compile_and_cache->proc~astring_f2c proc~cudageterrorstring cudaGetErrorString proc~compile_and_cache->proc~cudageterrorstring proc~destroy_strings destroy_strings proc~compile_and_cache->proc~destroy_strings proc~get nvrtc_cache%get proc~compile_and_cache->proc~get proc~get_conf_log_enabled get_conf_log_enabled proc~compile_and_cache->proc~get_conf_log_enabled proc~nvrtcgeterrorstring nvrtcGetErrorString proc~compile_and_cache->proc~nvrtcgeterrorstring proc~pop_nvtx_domain_range pop_nvtx_domain_range proc~compile_and_cache->proc~pop_nvtx_domain_range proc~push_nvtx_domain_range push_nvtx_domain_range proc~compile_and_cache->proc~push_nvtx_domain_range proc~string_c2f string_c2f proc~compile_and_cache->proc~string_c2f proc~to_cstr kernel_codegen%to_cstr proc~compile_and_cache->proc~to_cstr proc~write_message write_message proc~compile_and_cache->proc~write_message proc~get_transpose_kernel_code->interface~to_str proc~add_line kernel_codegen%add_line proc~get_transpose_kernel_code->proc~add_line proc~get_code_init get_code_init proc~get_transpose_kernel_code->proc~get_code_init proc~get_neighbor_function_code get_neighbor_function_code proc~get_transpose_kernel_code->proc~get_neighbor_function_code 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 proc~create~12 nvrtc_cache%create proc~add->proc~create~12 proc~get_true_transpose_type get_true_transpose_type proc~add->proc~get_true_transpose_type proc~string_f2c string_f2c proc~astring_f2c->proc~string_f2c proc~cudageterrorstring->proc~string_c2f interface~cudageterrorstring_c cudaGetErrorString_c proc~cudageterrorstring->interface~cudageterrorstring_c proc~destroy_string string%destroy_string proc~destroy_strings->proc~destroy_string proc~get->proc~get_true_transpose_type proc~is_unpack_kernel is_unpack_kernel proc~get->proc~is_unpack_kernel proc~get_code_init->proc~add_line interface~get_conf_internal get_conf_internal proc~get_conf_log_enabled->interface~get_conf_internal proc~get_neighbor_function_code->proc~add_line proc~nvrtcgeterrorstring->proc~string_c2f interface~nvtxdomainrangepop_c nvtxDomainRangePop_c proc~pop_nvtx_domain_range->interface~nvtxdomainrangepop_c proc~push_nvtx_domain_range->proc~astring_f2c interface~nvtxdomainrangepushex_c nvtxDomainRangePushEx_c proc~push_nvtx_domain_range->interface~nvtxdomainrangepushex_c proc~create_nvtx_domain create_nvtx_domain proc~push_nvtx_domain_range->proc~create_nvtx_domain proc~to_cstr->proc~astring_f2c mpi_comm_rank mpi_comm_rank proc~write_message->mpi_comm_rank mpi_finalized mpi_finalized proc~write_message->mpi_finalized proc~get_conf_internal_int32 get_conf_internal_int32 interface~get_conf_internal->proc~get_conf_internal_int32 proc~get_conf_internal_logical get_conf_internal_logical interface~get_conf_internal->proc~get_conf_internal_logical proc~create_nvtx_domain->proc~astring_f2c interface~nvtxdomaincreate_c nvtxDomainCreate_c proc~create_nvtx_domain->interface~nvtxdomaincreate_c

Called by

proc~~get_transpose_kernel~~CalledByGraph proc~get_transpose_kernel get_transpose_kernel proc~get_kernel get_kernel proc~get_kernel->proc~get_transpose_kernel proc~create~4 nvrtc_kernel%create proc~create~4->proc~get_kernel proc~create~9 transpose_handle_cuda%create proc~create~9->proc~create~4