From 1715830d82185acdf1ffdc73478bbe67f9260965 Mon Sep 17 00:00:00 2001 From: Violet Date: Wed, 11 Jun 2025 15:54:48 -0700 Subject: [PATCH] Implement cuModuleGetLoadingMode (#381) --- zluda/src/impl/mod.rs | 7 ++++++- zluda/src/impl/module.rs | 5 +++++ zluda/src/lib.rs | 1 + 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/zluda/src/impl/mod.rs b/zluda/src/impl/mod.rs index 6048d66..0f05db8 100644 --- a/zluda/src/impl/mod.rs +++ b/zluda/src/impl/mod.rs @@ -1,6 +1,10 @@ use cuda_types::cuda::*; use hip_runtime_sys::*; -use std::{ffi::CStr, mem::{self, ManuallyDrop, MaybeUninit}, ptr}; +use std::{ + ffi::CStr, + mem::{self, ManuallyDrop, MaybeUninit}, + ptr, +}; pub(super) mod context; pub(super) mod device; @@ -131,6 +135,7 @@ from_cuda_nop!( cuda_types::cuda::CUdevprop, CUdevice_attribute, CUdriverProcAddressQueryResult, + CUmoduleLoadingMode, CUuuid ); from_cuda_transmute!( diff --git a/zluda/src/impl/module.rs b/zluda/src/impl/module.rs index f8ddb99..e0170a2 100644 --- a/zluda/src/impl/module.rs +++ b/zluda/src/impl/module.rs @@ -53,3 +53,8 @@ pub(crate) fn get_function( ) -> hipError_t { unsafe { hipModuleGetFunction(hfunc, hmod.base, name) } } + +pub(crate) fn get_loading_mode(mode: &mut cuda_types::cuda::CUmoduleLoadingMode) -> CUresult { + *mode = cuda_types::cuda::CUmoduleLoadingMode::CU_MODULE_EAGER_LOADING; + Ok(()) +} diff --git a/zluda/src/lib.rs b/zluda/src/lib.rs index 46b920f..0deec1a 100644 --- a/zluda/src/lib.rs +++ b/zluda/src/lib.rs @@ -75,6 +75,7 @@ cuda_base::cuda_function_declarations!( cuMemsetD32_v2, cuMemsetD8_v2, cuModuleGetFunction, + cuModuleGetLoadingMode, cuModuleLoadData, cuModuleUnload, cuPointerGetAttribute,