Use different counter

This commit is contained in:
Andrzej Janik 2025-09-24 00:46:27 +00:00
commit 8e9d50de1a
2 changed files with 4 additions and 1 deletions

View file

@ -1703,6 +1703,7 @@ fn save_magic_ptr(
) { ) {
let magic_ptr = unwrap_some_or!(magic_ptr, return); let magic_ptr = unwrap_some_or!(magic_ptr, return);
let mut kernel_name = unwrap_some_or!(state.kernels.get(&f), return).name.clone(); let mut kernel_name = unwrap_some_or!(state.kernels.get(&f), return).name.clone();
state.known_enqueue_counter += 1;
kernel_name.truncate(224); kernel_name.truncate(224);
libcuda.cuStreamSynchronize(stream).unwrap().unwrap(); libcuda.cuStreamSynchronize(stream).unwrap().unwrap();
let mut host = vec![0u8; 2097152]; let mut host = vec![0u8; 2097152];
@ -1715,7 +1716,7 @@ fn save_magic_ptr(
let mut dump_dir = state.dump_dir().unwrap().clone(); let mut dump_dir = state.dump_dir().unwrap().clone();
dump_dir.push(format!( dump_dir.push(format!(
"magic_ptr_{}_{}.bin", "magic_ptr_{}_{}.bin",
state.enqueue_counter, kernel_name state.known_enqueue_counter, kernel_name
)); ));
std::fs::write(dump_dir, host).unwrap(); std::fs::write(dump_dir, host).unwrap();
} }

View file

@ -30,6 +30,7 @@ pub(crate) struct StateTracker {
pub(crate) kernel_name_filter: Option<regex::Regex>, pub(crate) kernel_name_filter: Option<regex::Regex>,
pub(crate) kernel_no_output: bool, pub(crate) kernel_no_output: bool,
pub(crate) magic_ptr: Option<CUdeviceptr>, pub(crate) magic_ptr: Option<CUdeviceptr>,
pub(crate) known_enqueue_counter: usize,
} }
pub(crate) struct ParsedModule { pub(crate) struct ParsedModule {
@ -61,6 +62,7 @@ impl StateTracker {
kernel_name_filter: settings.kernel_name_filter.clone(), kernel_name_filter: settings.kernel_name_filter.clone(),
kernel_no_output: settings.kernel_no_output.unwrap_or(false), kernel_no_output: settings.kernel_no_output.unwrap_or(false),
magic_ptr: None, magic_ptr: None,
known_enqueue_counter: 0,
} }
} }