get_transpose_kernel_code Function

public function get_transpose_kernel_code(kernel_name, ndims, base_storage, transpose_type, enable_packing, padding) result(code)

Generates code that will be used to locally tranpose data and prepares to send it to other processes ndims == 2

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: kernel_name

Name of CUDA kernel

integer(kind=int8), intent(in) :: ndims

Number of dimensions

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

Number of bytes needed to store single element

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

Transpose id

logical, intent(in) :: enable_packing

If data should be manually packed or not

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

Return Value type(kernel_codegen)

Resulting code


Calls

proc~~get_transpose_kernel_code~~CallsGraph proc~get_transpose_kernel_code get_transpose_kernel_code interface~to_str to_str 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~get_code_init->proc~add_line proc~get_neighbor_function_code->proc~add_line

Called by

proc~~get_transpose_kernel_code~~CalledByGraph proc~get_transpose_kernel_code get_transpose_kernel_code proc~get_transpose_kernel get_transpose_kernel proc~get_transpose_kernel->proc~get_transpose_kernel_code 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