From ecc33f7b105373264807d09f6bdcadb93e59f1f0 Mon Sep 17 00:00:00 2001 From: Andrzej Janik Date: Sun, 4 Jul 2021 15:40:08 +0200 Subject: [PATCH] Make everything async --- level_zero-sys/lib/ze_loader.def | Bin 15760 -> 8043 bytes level_zero-sys/lib/ze_loader.lib | Bin 77220 -> 78754 bytes level_zero/src/ze.rs | 20 ++++++++++++++++++++ zluda/src/impl/function.rs | 13 +++++-------- zluda/src/impl/memory.rs | 28 +++++++++++----------------- zluda/src/impl/mod.rs | 10 +++------- 6 files changed, 39 insertions(+), 32 deletions(-) diff --git a/level_zero-sys/lib/ze_loader.def b/level_zero-sys/lib/ze_loader.def index 71bc4df4bb6534e42585f407e4fb5f256b561449..d95ffad9d45f2a0abb960182a8e683e1ac114bca 100644 GIT binary patch literal 8043 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 literal 15760 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 diff --git a/level_zero-sys/lib/ze_loader.lib b/level_zero-sys/lib/ze_loader.lib index dfb3f84a4b9e74af7c267ba8b3a658794dd5aaf6..525496a50b4fa14324943a001a5ec492cbfb63f2 100644 GIT binary patch delta 14730 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 MwMZ`|Cx?Lx08~5;u>b%7 diff --git a/level_zero/src/ze.rs b/level_zero/src/ze.rs index 16a98a0..30146a2 100644 --- a/level_zero/src/ze.rs +++ b/level_zero/src/ze.rs @@ -781,6 +781,26 @@ impl<'a> CommandList<'a> { Ok(unsafe { Self::from_ffi(result) }) } + pub fn new_immediate(ctx: &'a Context, dev: Device) -> Result { + let queue_desc = sys::ze_command_queue_desc_t { + stype: sys::ze_structure_type_t::ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC, + pNext: ptr::null(), + ordinal: 0, + index: 0, + flags: sys::ze_command_queue_flags_t(0), + mode: sys::ze_command_queue_mode_t::ZE_COMMAND_QUEUE_MODE_DEFAULT, + priority: sys::ze_command_queue_priority_t::ZE_COMMAND_QUEUE_PRIORITY_NORMAL, + }; + let mut result: sys::ze_command_list_handle_t = ptr::null_mut(); + check!(sys::zeCommandListCreateImmediate( + ctx.as_ffi(), + dev.as_ffi(), + &queue_desc, + &mut result + )); + Ok(unsafe { Self::from_ffi(result) }) + } + pub unsafe fn append_memory_copy< 'dep, T: 'a + 'dep + Copy + Sized, diff --git a/zluda/src/impl/function.rs b/zluda/src/impl/function.rs index 2aaab22..2a35512 100644 --- a/zluda/src/impl/function.rs +++ b/zluda/src/impl/function.rs @@ -81,7 +81,7 @@ pub fn launch_kernel( { return Err(CUresult::CUDA_ERROR_INVALID_VALUE); } - GlobalState::lock_stream(hstream, |stream| { + GlobalState::lock_enqueue(hstream, |cmd_list, signal, wait| { let func: &mut FunctionData = unsafe { &mut *f }.as_result_mut()?; if kernel_params != ptr::null_mut() { for (i, arg_size) in func.arg_size.iter().enumerate() { @@ -144,19 +144,16 @@ pub fn launch_kernel( func.base .set_group_size(block_dim_x, block_dim_y, block_dim_z)?; func.legacy_args.reset(); - let cmd_list = stream.command_list()?; unsafe { cmd_list.append_launch_kernel( &mut func.base, &[grid_dim_x, grid_dim_y, grid_dim_z], - None, - &mut [], + Some(signal), + wait, )?; } - cmd_list.close()?; - stream.queue.execute_and_synchronize(cmd_list)?; - Ok(()) - })? + Ok::<_, CUresult>(()) + }) } fn round_up_to_multiple(x: usize, multiple: usize) -> usize { diff --git a/zluda/src/impl/memory.rs b/zluda/src/impl/memory.rs index 81b4f31..56821d1 100644 --- a/zluda/src/impl/memory.rs +++ b/zluda/src/impl/memory.rs @@ -13,7 +13,7 @@ pub fn alloc_v2(dptr: *mut *mut c_void, bytesize: usize) -> Result<(), CUresult> pub fn copy_v2(dst: *mut c_void, src: *const c_void, bytesize: usize) -> Result<(), CUresult> { GlobalState::lock_enqueue(stream::CU_STREAM_LEGACY, |cmd_list, signal, wait| { unsafe { cmd_list.append_memory_copy_raw(dst, src, bytesize, Some(signal), wait)? }; - Ok::<_, l0::sys::ze_result_t>(()) + Ok(()) }) } @@ -26,41 +26,35 @@ pub fn free_v2(ptr: *mut c_void) -> Result<(), CUresult> { } pub(crate) fn set_d32_v2(dst: *mut c_void, mut ui: u32, n: usize) -> Result<(), CUresult> { - GlobalState::lock_stream(stream::CU_STREAM_LEGACY, |stream| { - let cmd_list = stream.command_list()?; + GlobalState::lock_enqueue(stream::CU_STREAM_LEGACY, |cmd_list, signal, wait| { unsafe { cmd_list.append_memory_fill_raw( dst, &mut ui as *mut _ as *mut _, mem::size_of::(), mem::size_of::() * n, - None, - &mut [], + Some(signal), + wait, ) }?; - cmd_list.close()?; - stream.queue.execute_and_synchronize(cmd_list)?; - Ok::<_, CUresult>(()) - })? + Ok(()) + }) } pub(crate) fn set_d8_v2(dst: *mut c_void, mut uc: u8, n: usize) -> Result<(), CUresult> { - GlobalState::lock_stream(stream::CU_STREAM_LEGACY, |stream| { - let cmd_list = stream.command_list()?; + GlobalState::lock_enqueue(stream::CU_STREAM_LEGACY, |cmd_list, signal, wait| { unsafe { cmd_list.append_memory_fill_raw( dst, &mut uc as *mut _ as *mut _, mem::size_of::(), mem::size_of::() * n, - None, - &mut [], + Some(signal), + wait, ) }?; - cmd_list.close()?; - stream.queue.execute_and_synchronize(cmd_list)?; - Ok::<_, CUresult>(()) - })? + Ok(()) + }) } #[cfg(test)] diff --git a/zluda/src/impl/mod.rs b/zluda/src/impl/mod.rs index 2bdd613..f12e964 100644 --- a/zluda/src/impl/mod.rs +++ b/zluda/src/impl/mod.rs @@ -275,17 +275,13 @@ impl GlobalState { fn lock_enqueue( stream: *mut stream::Stream, - f: impl FnOnce( - &mut l0::CommandList, - &l0::Event<'static>, - &[&l0::Event<'static>], - ) -> l0::Result<()>, + f: impl FnOnce(&l0::CommandList, &l0::Event<'static>, &[&l0::Event<'static>]) -> Result<(), CUresult>, ) -> Result<(), CUresult> { Self::lock_stream(stream, |stream_data| { let l0_dev = unsafe { (*(*stream_data.context).device).base }; let l0_ctx = unsafe { &mut (*(*stream_data.context).device).l0_context }; let event_pool = unsafe { &mut (*(*stream_data.context).device).event_pool }; - let mut cmd_list = unsafe { mem::transmute(stream_data.command_list()?) }; + let cmd_list = unsafe { mem::transmute(stream_data.command_list()?) }; stream_data .process_finished_events(&mut |(_, marker)| event_pool.mark_as_free(marker))?; let prev_event = stream_data.get_last_event(); @@ -293,7 +289,7 @@ impl GlobalState { let empty = []; let prev_event_slice = prev_event_array.as_ref().map_or(&empty[..], |arr| &arr[..]); let (new_event, new_marker) = event_pool.get(l0_dev, l0_ctx)?; - f(&mut cmd_list, &new_event, prev_event_slice)?; + f(&cmd_list, &new_event, prev_event_slice)?; cmd_list.close()?; unsafe { stream_data.queue.execute(&cmd_list, None)? }; stream_data.push_event((new_event, new_marker));