v0.16.0
Loading...
Searching...
No Matches
Classes | Namespaces | Functions | Variables
profile_test.py File Reference

Go to the source code of this file.

Classes

class  profile_test.Case
 

Namespaces

namespace  profile_test
 

Functions

argparse.Namespace profile_test.parse_args ()
 
str profile_test.sanitize_label (str value)
 
str profile_test.stable_cache_name (str value)
 
Path profile_test.ensure_results_dir (str|None requested, str label_a, str label_b)
 
str|None profile_test.read_cmake_home_directory (str|None build_dir)
 
Path profile_test.resolve_cmake_cache_path (str build_or_cache)
 
dict[str, tuple[str, str]] profile_test.read_cmake_cache_entries (Path cache_path)
 
tuple[list[str], dict[str, dict[str, str]]] profile_test.make_seed_configure_args (str seed_cache, list[str] extra_keys)
 
str|None profile_test.infer_commit (str|None source_dir)
 
str profile_test.resolve_git_commit (Path repo_path, str ref)
 
Path profile_test.reusable_repo_cache_root (Path repo_path)
 
tuple[Path, str] profile_test.ensure_reusable_worktree (Path repo_path, str ref, str label, Path case_log_dir)
 
Case profile_test.resolve_case (str name, str label, str|None build_dir, str|None exe, str exe_relpath, str|None commit, str|None source_dir)
 
str profile_test.resolve_run_cwd (Case case, str|None fallback_workdir)
 
Case profile_test.prepare_source_case (str name, str label, str repo, str ref, Path result_dir, str exe_relpath, str|None workdir_relpath, list[str] configure_args, list[str] build_args, str|None build_target, int build_jobs)
 
tuple[int, float] profile_test.run_command (list[str] cmd, str|None cwd, Path log_path, str|None announce_name=None, bool print_cmd=False)
 
dict[str, float] profile_test.parse_petsc_events (str log_text, Iterable[str] event_names)
 
str profile_test.tail_text (Path path, int num_lines=40)
 
list[str] profile_test.ordered_unique (Iterable[str] items)
 
str profile_test.sanitize_perf_event_name (str event_name)
 
dict[str, float] profile_test.parse_perf_stat (str log_text, Iterable[str] event_names)
 
dict profile_test.run_wall_time_case (Case case, list[str] app_args, str|None workdir, Path results_dir, int timing_runs)
 
dict profile_test.run_petsc_event_case (Case case, list[str] app_args, str|None workdir, Path results_dir, int timing_runs, list[str] petsc_events)
 
dict profile_test.run_perf_case (Case case, list[str] app_args, str|None workdir, Path results_dir, int perf_runs, str perf_bin, list[str] perf_events)
 
dict profile_test.run_callgrind_case (Case case, list[str] app_args, str|None workdir, Path results_dir, list[str] callgrind_args)
 
tuple[int|None, dict[str, int]] profile_test.parse_callgrind_annotate (Path annotate_path)
 
str profile_test.resolve_callgrind_name (str raw_value, dict[str, str] table)
 
dict[str, int]|None profile_test.parse_callgrind_costs_line (str line, list[str] event_names)
 
tuple[list[str], dict[str, int], dict[str, dict[str, int]]] profile_test.parse_callgrind_out (Path callgrind_path)
 
bool profile_test.should_include_function (str func, list[re.Pattern[str]] include_patterns, list[re.Pattern[str]] exclude_patterns)
 
list[dict] profile_test.build_diff_rows (dict[str, int] funcs_a, dict[str, int] funcs_b, list[re.Pattern[str]] include_patterns, list[re.Pattern[str]] exclude_patterns)
 
list[dict] profile_test.project_rows_to_estimated_cycles (list[dict] rows, float|None ipc_a, float|None ipc_b)
 
int profile_test.event_value (dict[str, int] event_map, str name)
 
int profile_test.total_l1_misses (dict[str, int] event_map)
 
int profile_test.total_ll_misses (dict[str, int] event_map)
 
int profile_test.total_branch_misses (dict[str, int] event_map)
 
float profile_test.estimate_cycles_from_events (dict[str, int] event_map, float base_cpi, float l1_miss_penalty, float ll_miss_penalty, float branch_miss_penalty)
 
dict[str, float] profile_test.metric_dict_from_event_maps (dict[str, dict[str, int]] event_maps, str metric_name)
 
dict[str, float] profile_test.estimated_cycle_dict_from_event_maps (dict[str, dict[str, int]] event_maps, float base_cpi, float l1_miss_penalty, float ll_miss_penalty, float branch_miss_penalty)
 
str profile_test.format_delta_percent (float value)
 
str profile_test.format_metric (float value)
 
str profile_test.shorten_label (str text, int limit=100)
 
None profile_test.write_perf_csv (Path path, str label, dict summary)
 
list[dict] profile_test.select_top_difference_rows (list[dict] rows, int limit)
 
None profile_test.write_svg_diff_plot (Path path, list[dict] rows, Case case_a, Case case_b, str metric_label, str title)
 
None profile_test.write_perf_svg (Path path, Case case_a, Case case_b, dict perf_a, dict perf_b)
 
None profile_test.write_timing_csv (Path path, str label, dict summary, list[str] petsc_events)
 
None profile_test.write_diff_csv (Path path, list[dict] rows)
 
None profile_test.print_top_rows (str title, list[dict] rows, Case case_a, Case case_b, int limit, str metric_label="Ir")
 
int profile_test.main ()
 

Variables

 profile_test.PETSC_EVENT_RE
 
 profile_test.CALLGRIND_LINE_RE = re.compile(r"^\s*([\d,]+)\s+\‍([^)]+\‍)\s+(.*)$")
 
 profile_test.CMAKE_HOME_RE = re.compile(r"^CMAKE_HOME_DIRECTORY(?::\w+)?=(.*)$")
 
 profile_test.CALLGRIND_REF_RE = re.compile(r"^\‍((\d+)\‍)(?:\s+(.*))?$")
 
list profile_test.DEFAULT_CALLGRIND_ARGS
 
list profile_test.DEFAULT_PERF_EVENTS = ["instructions", "cycles"]
 
str profile_test.DEFAULT_SVG_BACKGROUND = "#ffffff"
 
float profile_test.DEFAULT_SIM_BASE_CPI = 1.0
 
float profile_test.DEFAULT_SIM_L1_MISS_PENALTY = 5.0
 
float profile_test.DEFAULT_SIM_LL_MISS_PENALTY = 50.0
 
float profile_test.DEFAULT_SIM_BRANCH_MISS_PENALTY = 15.0
 
list profile_test.DEFAULT_EXCLUDE_PATTERNS
 
list profile_test.DEFAULT_SEED_CACHE_KEYS
 
 profile_test.exc
 
 profile_test.file