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.