DiffcrashRun¶
This class can be used in order to automate diffcrash runs in a hopefully comfortable manner.
-
class
lasso.diffcrash.
DiffcrashRun
(project_dir: str, crash_code: str, reference_run: str, simulation_runs: Sequence[str], exclude_runs: Sequence[str], diffcrash_home: str = '', use_id_mapping: bool = False, config_file: str = None, parameter_file: str = None, n_processes: int = 1, logfile_dir: str = None)¶ Object handling a diffcrash run
- Parameters
- project_dirstr
directory to put all buffer files etc in
- crash_codestr
crash code to use.
- reference_runstr
filepath to the reference run
- simulation_runs: `list` of `str`
patterns used to search for simulation runs
- diffcrash_homestr
home directory of diffcrash installation. Uses environment variable DIFFCRASHHOME if not set.
- use_id_mappingbool
whether to use id mapping instead of nearest neighbor mapping
- config_filestr
filepath to a config file
- parameter_filestr
filepath to the parameter file
- n_processesint
number of processes to spawn for worker pool
- logfile_dirstr
directory to put logfiles in
Methods
-
__init__
(self, project_dir: str, crash_code: str, reference_run: str, simulation_runs: Sequence[str], exclude_runs: Sequence[str], diffcrash_home: str = '', use_id_mapping: bool = False, config_file: str = None, parameter_file: str = None, n_processes: int = 1, logfile_dir: str = None)¶ Object handling a diffcrash run
- Parameters
- project_dirstr
directory to put all buffer files etc in
- crash_codestr
crash code to use.
- reference_runstr
filepath to the reference run
- simulation_runs: `list` of `str`
patterns used to search for simulation runs
- diffcrash_homestr
home directory of diffcrash installation. Uses environment variable DIFFCRASHHOME if not set.
- use_id_mappingbool
whether to use id mapping instead of nearest neighbor mapping
- config_filestr
filepath to a config file
- parameter_filestr
filepath to the parameter file
- n_processesint
number of processes to spawn for worker pool
- logfile_dirstr
directory to put logfiles in
-
check_if_logfiles_show_success
(self, pattern: str) → List[str]¶ Check if a logfiles with given pattern show success
- Parameters
- patternstr
file pattern used to search for logfiles
- Returns
- messageslist
list with messages of failed log checks
-
clear_project_dir
(self)¶ Clears the entire project dir
-
create_project_dirs
(self)¶ Creates all project relevant directores
Notes
- Created dirs:
logfile_dir
project_dir
-
is_logfile_successful
(self, logfile: str) → bool¶ Checks if a logfile indicates a success
- Parameters
- logfilestr
filepath to the logile
- Returns
- successbool
-
read_config_file
(self, config_file: str) → List[str]¶ Read a diffcrash config file
- Parameters
- config_filestr
path to the config file
Notes
From the official diffcrash docs … seriously.
-
run_eigen
(self, pool: concurrent.futures.thread.ThreadPoolExecutor)¶ Run diffcrash eigen
- Parameters
- poolconcurrent.futures.ThreadPoolExecutor
multiprocessing pool
-
run_export
(self, pool: concurrent.futures.thread.ThreadPoolExecutor)¶ Run diffcrash export
- Parameters
- poolconcurrent.futures.ThreadPoolExecutor
multiprocessing pool
-
run_import
(self, pool: concurrent.futures.thread.ThreadPoolExecutor)¶ Run diffcrash import of runs
- Parameters
- poolconcurrent.futures.ThreadPoolExecutor
multiprocessing pool
-
run_math
(self, pool: concurrent.futures.thread.ThreadPoolExecutor)¶ Run diffcrash math
- Parameters
- poolconcurrent.futures.ThreadPoolExecutor
multiprocessing pool
-
run_matrix
(self, pool: concurrent.futures.thread.ThreadPoolExecutor)¶ Run diffcrash matrix
- Parameters
- poolconcurrent.futures.ThreadPoolExecutor
multiprocessing pool
-
run_merge
(self, pool: concurrent.futures.thread.ThreadPoolExecutor)¶ Run diffcrash merge
- Parameters
- poolconcurrent.futures.ThreadPoolExecutor
multiprocessing pool
-
run_setup
(self, pool: concurrent.futures.thread.ThreadPoolExecutor)¶ Run diffcrash setup
- Parameters
- poolconcurrent.futures.ThreadPoolExecutor
multiprocessing pool