get Function

private function get(self, ndims, kernel_type, base_storage, tile_size, block_rows) result(fun)

Uses

  • proc~~get~~UsesGraph proc~get nvrtc_module%get iso_c_binding iso_c_binding proc~get->iso_c_binding iso_fortran_env iso_fortran_env proc~get->iso_fortran_env

Returns kernel ready to be executed

Type Bound

nvrtc_module

Arguments

Type IntentOptional Attributes Name
class(nvrtc_module), intent(in) :: self

This module

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

Number of dimensions, used only for forward permutation

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

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

Size of shared memory tile, template parameter

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

Number of rows processed by single thread, template parameter

Return Value type(CUfunction)

Resulting kernel


Calls

proc~~get~~CallsGraph proc~get nvrtc_module%get fname fname proc~get->fname mpi_abort mpi_abort proc~get->mpi_abort none~check nvrtc_module%check proc~get->none~check proc~cudageterrorstring cudaGetErrorString proc~get->proc~cudageterrorstring proc~get_mangled_name get_mangled_name proc~get->proc~get_mangled_name proc~check_instance nvrtc_module%check_instance none~check->proc~check_instance proc~check_module nvrtc_module%check_module none~check->proc~check_module interface~cudageterrorstring_c cudaGetErrorString_c proc~cudageterrorstring->interface~cudageterrorstring_c proc~string_c2f string_c2f proc~cudageterrorstring->proc~string_c2f proc~get_mangled_name->fname proc~get_mangled_name->mpi_abort proc~get_name_expression get_name_expression proc~get_mangled_name->proc~get_name_expression proc~nvrtcgeterrorstring nvrtcGetErrorString proc~get_mangled_name->proc~nvrtcgeterrorstring proc~check_instance->none~check interface~to_str to_str proc~get_name_expression->interface~to_str proc~astring_f2c astring_f2c proc~get_name_expression->proc~astring_f2c proc~nvrtcgeterrorstring->proc~string_c2f interface~is_null_ptr is_null_ptr proc~string_c2f->interface~is_null_ptr interface~is_null_ptr->interface~is_null_ptr proc~is_null_funptr is_null_funptr interface~is_null_ptr->proc~is_null_funptr 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~string_f2c string_f2c proc~astring_f2c->proc~string_f2c

Called by

proc~~get~~CalledByGraph proc~get nvrtc_module%get proc~get_kernel_instance get_kernel_instance proc~get_kernel_instance->proc~get proc~get_kernel get_kernel proc~get_kernel->proc~get_kernel_instance proc~create~8 kernel_device%create proc~create~8->proc~get_kernel