diff --git a/zluda_trace/src/lib.rs b/zluda_trace/src/lib.rs index f6edea8..626bf17 100644 --- a/zluda_trace/src/lib.rs +++ b/zluda_trace/src/lib.rs @@ -1703,6 +1703,7 @@ fn save_magic_ptr( ) { let magic_ptr = unwrap_some_or!(magic_ptr, return); let mut kernel_name = unwrap_some_or!(state.kernels.get(&f), return).name.clone(); + state.known_enqueue_counter += 1; kernel_name.truncate(224); libcuda.cuStreamSynchronize(stream).unwrap().unwrap(); let mut host = vec![0u8; 2097152]; @@ -1715,7 +1716,7 @@ fn save_magic_ptr( let mut dump_dir = state.dump_dir().unwrap().clone(); dump_dir.push(format!( "magic_ptr_{}_{}.bin", - state.enqueue_counter, kernel_name + state.known_enqueue_counter, kernel_name )); std::fs::write(dump_dir, host).unwrap(); } diff --git a/zluda_trace/src/trace.rs b/zluda_trace/src/trace.rs index 941661a..d0bab24 100644 --- a/zluda_trace/src/trace.rs +++ b/zluda_trace/src/trace.rs @@ -30,6 +30,7 @@ pub(crate) struct StateTracker { pub(crate) kernel_name_filter: Option, pub(crate) kernel_no_output: bool, pub(crate) magic_ptr: Option, + pub(crate) known_enqueue_counter: usize, } pub(crate) struct ParsedModule { @@ -61,6 +62,7 @@ impl StateTracker { kernel_name_filter: settings.kernel_name_filter.clone(), kernel_no_output: settings.kernel_no_output.unwrap_or(false), magic_ptr: None, + known_enqueue_counter: 0, } }