mirror of
https://github.com/vosen/ZLUDA.git
synced 2025-09-26 19:29:05 +00:00
Filter enqueues to be saved
This commit is contained in:
parent
f3e143d8dd
commit
3289d92f59
3 changed files with 22 additions and 0 deletions
|
@ -1280,6 +1280,7 @@ struct Settings {
|
|||
dump_dir: Option<PathBuf>,
|
||||
libcuda_path: String,
|
||||
override_cc: Option<(u32, u32)>,
|
||||
kernel_name_filter: Option<regex::Regex>,
|
||||
}
|
||||
|
||||
impl Settings {
|
||||
|
@ -1328,10 +1329,25 @@ impl Settings {
|
|||
})
|
||||
}),
|
||||
};
|
||||
let kernel_name_filter = match env::var("ZLUDA_SAVE_KERNELS") {
|
||||
Err(env::VarError::NotPresent) => None,
|
||||
Err(e) => {
|
||||
logger.log(log::ErrorEntry::ErrorBox(Box::new(e) as _));
|
||||
None
|
||||
}
|
||||
Ok(env_string) => logger.try_return(|| {
|
||||
regex::Regex::new(&env_string).map_err(|e| ErrorEntry::InvalidEnvVar {
|
||||
var: "ZLUDA_SAVE_KERNELS",
|
||||
pattern: "valid regex",
|
||||
value: format!("{} ({})", env_string, e),
|
||||
})
|
||||
}),
|
||||
};
|
||||
Settings {
|
||||
dump_dir,
|
||||
libcuda_path,
|
||||
override_cc,
|
||||
kernel_name_filter,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -27,6 +27,10 @@ pub(crate) fn pre_kernel_launch(
|
|||
.get(&f)
|
||||
.ok_or(ErrorEntry::UnknownFunctionHandle(f))
|
||||
})?;
|
||||
let kernel_name_filter = state.kernel_name_filter.as_ref()?;
|
||||
if !kernel_name_filter.is_match(name) {
|
||||
return None;
|
||||
}
|
||||
let ParsedModule { source, kernels } = fn_logger.try_return(|| {
|
||||
state
|
||||
.parsed_libraries
|
||||
|
|
|
@ -27,6 +27,7 @@ pub(crate) struct StateTracker {
|
|||
library_counter: usize,
|
||||
pub(crate) enqueue_counter: usize,
|
||||
pub(crate) override_cc: Option<(u32, u32)>,
|
||||
pub(crate) kernel_name_filter: Option<regex::Regex>,
|
||||
}
|
||||
|
||||
pub(crate) struct ParsedModule {
|
||||
|
@ -55,6 +56,7 @@ impl StateTracker {
|
|||
library_counter: 0,
|
||||
enqueue_counter: 0,
|
||||
override_cc: settings.override_cc,
|
||||
kernel_name_filter: settings.kernel_name_filter.clone(),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue