Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minor adjustments for feature perf precision experiments #883

Merged
merged 6 commits into from
Apr 22, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 23 additions & 8 deletions varats/varats/experiments/vara/feature_perf_precision.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
from plumbum import local, BG
from plumbum.commands.modifiers import Future

from varats.base.configuration import PatchConfiguration
from varats.data.reports.performance_influence_trace_report import (
PerfInfluenceTraceReportAggregate,
)
Expand Down Expand Up @@ -44,7 +45,7 @@
from varats.report.report import ReportSpecification
from varats.report.tef_report import TEFReportAggregate
from varats.tools.research_tools.vara import VaRA
from varats.utils.config import get_current_config_id
from varats.utils.config import get_current_config_id, get_config
from varats.utils.git_util import ShortCommitHash

REPS = 3
Expand Down Expand Up @@ -77,10 +78,24 @@
def select_project_binaries(project: VProject) -> tp.List[ProjectBinaryWrapper]:
"""Uniformly select the binaries that should be analyzed."""
if project.name == "DunePerfRegression":
return [
binary for binary in project.binaries
if binary.name == "poisson_yasp_q2_3d"
]
config = get_config(project, PatchConfiguration)
if not config:
return []

f_tags = {opt.value for opt in config.options()}

grid_binary_map = {
"YaspGrid": "poisson_yasp_q2_3d",
"UGGrid": "poisson_ug_pk_2d",
"ALUGrid": "poisson_alugrid"
}

for grid in grid_binary_map:

Check failure on line 93 in varats/varats/experiments/vara/feature_perf_precision.py

View workflow job for this annotation

GitHub Actions / pylint

[pylint] varats/varats/experiments/vara/feature_perf_precision.py#L93 <206>

Consider iterating with .items() (consider-using-dict-items)
Raw output
varats/varats/experiments/vara/feature_perf_precision.py:93:8: C0206: Consider iterating with .items() (consider-using-dict-items)
if grid in f_tags:
return [
binary for binary in project.binaries
if binary.name == grid_binary_map[grid]
]

return [project.binaries[0]]

Expand All @@ -99,14 +114,14 @@
if project.DOMAIN is ProjectDomains.TEST:
if project.name in [
"SynthSAFieldSensitivity", "SynthIPRuntime", "SynthIPTemplate",
"SynthIPTemplate2", "SynthIPCombined", "PicoSATLoadTime"
"SynthIPTemplate2", "SynthIPCombined"
]:
# Don't instrument everything for these synthetic projects
return 10

return 0

if project.name in ["HyTeg"]:
if project.name in ["HyTeg", "PicoSATLoadTime"]:
return 0

return 100
Expand Down Expand Up @@ -343,7 +358,7 @@
f"Running example {prj_command.command.label}"
)

bpf_runner = bpf_runner = self.attach_usdt_bcc(
bpf_runner = self.attach_usdt_bcc(
local_tracefile_path,
self.project.source_of_primary /
self._binary.path
Expand Down
2 changes: 1 addition & 1 deletion varats/varats/tables/feature_perf_precision.py
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ def _prepare_data_table(
def tabulate(self, table_format: TableFormat, wrap_table: bool) -> str:
"""Setup performance precision table."""
case_studies = get_loaded_paper_config().get_all_case_studies()
profilers: tp.List[Profiler] = [VXray(), PIMTracer()]
profilers: tp.List[Profiler] = [VXray(), PIMTracer(), EbpfTraceTEF()]

# Data aggregation
df = self._prepare_data_table(case_studies, profilers)
Expand Down
Loading