and the RunDataStatsHelper that provides helper methods for working with these objects. """ import re import traceback from functools import reduce from temci.report.testers import Tester, TesterRegistry from temci.run.run_driver import filter_runs from temci.utils.config_utils import ATTRIBUTES_TYPE from temci.utils.envinfo import FORMATTED_ENV_INFO, format_env_info from temci.utils.typecheck import * from temci.utils.settings import Settings import temci.utils.util as util from collections import defaultdict if util.can_import("numpy"): import numpy as np import typing as t import yaml Number = t.Union[int, float] """ Numeric value """ def get_for_tags(per_tag_settings_key: str, main_key: str, tags: t.List[str], combinator: t.Callable[[t.Any, t.Any], t.Any]): if not tags: return Settings()[main_key] return reduce(combinator, (get_for_tag(per_tag_settings_key, main_key, t) for t in tags))
import warnings from temci.scripts.temci_completion import completion_file_name, create_completion_dir from temci.utils import util if __name__ == "__main__": util.allow_all_imports = True warnings.simplefilter("ignore") import shutil import subprocess import time import humanfriendly if util.can_import("init"): from temci.scripts.init import prompt_run_config, prompt_build_config from temci.utils.typecheck import * from temci.run.run_processor import RunProcessor from temci.build.assembly import AssemblyProcessor, process_assembler from temci.build.build_processor import BuildProcessor import temci.run.run_driver as run_driver import temci.run.run_driver_plugin from temci.report.report import ReporterRegistry from temci.utils.settings import Settings from temci.report.report_processor import ReportProcessor import temci.report.report import temci.report.testers import click, sys, logging, json, os try:
""" Contains the RunData object for benchmarking data of specific program block and the RunDataStatsHelper that provides helper methods for working with these objects. """ from temci.report.testers import Tester, TesterRegistry from temci.utils.typecheck import * from temci.utils.settings import Settings import temci.utils.util as util from collections import defaultdict if util.can_import("scipy"): import scipy import typing as t Number = t.Union[int, float] """ Numeric value """ class RunData(object): """ A set of benchmarking data for a specific program block. """ def __init__(self, data: t.Dict[str, t.List[Number]] = None, attributes: t.Dict[str, str] = None, external: bool = False): """ Initializes a new run data object. :param data: optional dictionary mapping each property to a list of actual values
from temci.scripts.temci_completion import completion_file_name, create_completion_dir from temci.utils import util if __name__ == "__main__": util.allow_all_imports = True warnings.simplefilter("ignore") import shutil import subprocess import time import humanfriendly if util.can_import("init"): from temci.scripts.init import prompt_run_config, prompt_build_config from temci.utils.typecheck import * from temci.run.run_processor import RunProcessor from temci.build.assembly import AssemblyProcessor, process_assembler from temci.build.build_processor import BuildProcessor import temci.run.run_driver as run_driver import temci.run.run_driver_plugin from temci.report.report import ReporterRegistry from temci.utils.settings import Settings from temci.report.report_processor import ReportProcessor import temci.report.report import temci.report.testers import click, sys, logging, json, os