get_transpose_kernel_code Function

private function get_transpose_kernel_code(kernel_name, ndims, base_storage, transpose_type, enable_packing, enable_multiprocess) 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

logical, intent(in) :: enable_multiprocess

If thread should process more then one element

Return Value type(kernel_code)

Resulting code


Calls

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

Called by

proc~~get_transpose_kernel_code~~CalledByGraph proc~get_transpose_kernel_code get_transpose_kernel_code proc~compile_and_cache compile_and_cache proc~compile_and_cache->proc~get_transpose_kernel_code proc~create~2 nvrtc_kernel%create proc~create~2->proc~compile_and_cache proc~create~7 transpose_handle_cuda%create proc~create~7->proc~create~2