gem5.utils.simpoint.html
gem5.utils.simpoint module¶
- class gem5.utils.simpoint.SimPoint(simpoint_resource: SimpointResource = None, simpoint_interval: int = None, simpoint_file_path: Path = None, weight_file_path: Path = None, simpoint_list: List[int] = None, weight_list: List[int] = None, warmup_interval: int = 0)¶
Bases:
object
This SimPoint class is used to manage the information needed for SimPoints in workload.
- get_simpoint_interval() int ¶
- get_simpoint_start_insts() List[int] ¶
- get_warmup_list() List[int] ¶
- get_weight_list() List[float] ¶
- get_weights_and_simpoints_from_file(simpoint_path: Path, weight_path: Path) Tuple[List[int], List[int]] ¶
This function takes in file paths and outputs a list of SimPoints instruction starts and a list of weights.
- set_warmup_intervals(warmup_interval: int) List[int] ¶
This function takes the
warmup_interval
, fits it into the_simpoint_start_insts
, and outputs a list of warmup instruction lengths for each SimPoint.The warmup instruction length is calculated using the starting instruction of a SimPoint to minus the
warmup_interval
and the ending instruction of the last SimPoint. If it is less than 0, then the warmup instruction length is the gap between the starting instruction of a SimPoint and the ending instruction of the last SimPoint.