compile_program Function

private function compile_program(code, prog_name, configs, props) result(prog)

Uses

  • proc~~compile_program~~UsesGraph proc~compile_program compile_program iso_c_binding iso_c_binding proc~compile_program->iso_c_binding iso_fortran_env iso_fortran_env proc~compile_program->iso_fortran_env

Compiles nvRTC program with given configurations

Arguments

Type IntentOptional Attributes Name
type(codegen_t), intent(in) :: code

CUDA code to compile

character(len=*), intent(in) :: prog_name

Basic kernel name

type(kernel_config), intent(in) :: configs(:)

Kernel configurations that this module should be compiled for

type(device_props), intent(in) :: props

GPU architecture properties

Return Value type(nvrtcProgram)

Resulting nvRTC program


Calls

proc~~compile_program~~CallsGraph proc~compile_program compile_program fname fname proc~compile_program->fname interface~to_str to_str proc~compile_program->interface~to_str mpi_abort mpi_abort proc~compile_program->mpi_abort proc~astring_f2c astring_f2c proc~compile_program->proc~astring_f2c proc~destroy_strings destroy_strings proc~compile_program->proc~destroy_strings proc~mem_alloc_host mem_alloc_host proc~compile_program->proc~mem_alloc_host proc~nvrtcgeterrorstring nvrtcGetErrorString proc~compile_program->proc~nvrtcgeterrorstring proc~set_name_expression set_name_expression proc~compile_program->proc~set_name_expression proc~string_c2f string_c2f proc~compile_program->proc~string_c2f 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 proc~destroy_string string%destroy_string proc~destroy_strings->proc~destroy_string interface~aligned_alloc aligned_alloc proc~mem_alloc_host->interface~aligned_alloc proc~nvrtcgeterrorstring->proc~string_c2f proc~set_name_expression->fname proc~set_name_expression->mpi_abort proc~set_name_expression->proc~nvrtcgeterrorstring proc~get_name_expression get_name_expression proc~set_name_expression->proc~get_name_expression 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~get_name_expression->interface~to_str proc~get_name_expression->proc~astring_f2c

Called by

proc~~compile_program~~CalledByGraph proc~compile_program compile_program proc~create~13 nvrtc_module%create proc~create~13->proc~compile_program proc~create_nvrtc_module create_nvrtc_module proc~create_nvrtc_module->proc~create~13 proc~get_kernel get_kernel proc~get_kernel->proc~create_nvrtc_module proc~create~8 kernel_device%create proc~create~8->proc~get_kernel