gem5.components.boards.se_binary_workload.html
gem5.components.boards.se_binary_workload module¶
- class gem5.components.boards.se_binary_workload.SEBinaryWorkload¶
Bases:
object
This class is used to enable simple Syscall-Execution (SE) mode execution of a binary.
For this to function correctly the SEBinaryWorkload class should be added as a superclass to a board (i.e., something that inherits from AbstractBoard).
Note
At present this implementation is limited. A single process is added to all cores as the workload. Therefore, despite allowing for multi-core setups, multi-program workloads are not presently supported.
- get_looppoint() Looppoint ¶
Returns the LoopPoint object set. If no LoopPoint object has been set an exception is thrown.
- get_simpoint() SimpointResource ¶
Returns the SimpointResorce object set. If no SimpointResource object has been set an exception is thrown.
- set_se_binary_workload(binary: BinaryResource, exit_on_work_items: bool = True, stdin_file: FileResource | None = None, stdout_file: Path | None = None, stderr_file: Path | None = None, env_list: List[str] | None = None, arguments: List[str] = [], checkpoint: Path | CheckpointResource | None = None) None ¶
Set up the system to run a specific binary.
Limitations * Dynamically linked executables are partially supported when the host
ISA and the simulated ISA are the same.
- Parameters:
binary – The resource encapsulating the binary to be run.
exit_on_work_items – Whether the simulation should exit on work items.
True
by default.stdin_file – The input file for the binary
stdout_file – The output file for the binary
stderr_file – The error output file for the binary
env_list – The environment variables defined for the binary
arguments – The input arguments for the binary
checkpoint – The checkpoint directory. Used to restore the simulation to that checkpoint.
- set_se_elfie_workload(elfie: AbstractResource, elfie_info: ELFieInfo, arguments: List[str] = [], checkpoint: Path | AbstractResource | None = None) None ¶
Set up the system to run a ELFie workload.
Limitations * Dynamically linked executables are partially supported when the host
ISA and the simulated ISA are the same.
- Parameters:
elfie – The resource encapsulating the binary ELFie to be run.
elfie_info – The ELFieInfo object that contain all the information for the ELFie.
arguments – The input arguments for the binary.
- set_se_looppoint_workload(binary: AbstractResource, looppoint: Looppoint, arguments: List[str] = [], checkpoint: Path | AbstractResource | None = None, region_id: str | int | None = None) None ¶
Set up the system to run a LoopPoint workload.
Limitations * Dynamically linked executables are partially supported when the host
ISA and the simulated ISA are the same.
- Parameters:
binary – The resource encapsulating the binary to be run.
looppoint – The LoopPoint object that contain all the information gather from the LoopPoint files and a LoopPointManager that will raise exit events for LoopPoints.
arguments – The input arguments for the binary.
region_id – If set, will only load the Looppoint region corresponding to that ID.
- set_se_simpoint_workload(binary: BinaryResource, arguments: List[str] = [], simpoint: SimpointResource = None, checkpoint: Path | CheckpointResource | None = None) None ¶
Set up the system to run a SimPoint workload.
Limitations * Only supports single threaded applications. * Dynamically linked executables are partially supported when the host
ISA and the simulated ISA are the same.
Warning
SimPoints only works with one core
- Parameters:
binary – The resource encapsulating the binary to be run.
arguments – The input arguments for the binary.
simpoint – The SimpointResource that contains the list of SimPoints starting instructions, the list of weights, and the SimPoints interval.
checkpoint – The checkpoint directory. Used to restore the simulation to that checkpoint.