Zhantong Qiu has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/67196?usp=email )
Change subject: stdlib: Allow se_binary_workload to setup LoopPoints
......................................................................
stdlib: Allow se_binary_workload to setup LoopPoints
Added a set_se_looppoint_workload function to take in information for
workload and a stdlib LoopPoint object that stores all the information
the workload needed to run the LoopPoint sampling method.
Added a get_looppoint function to return the stdlib LoopPoint object.
Change-Id: I7afc5c4c743256f7df97345f331b6f72b7a5fd07
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/67196
Maintainer: Bobby Bruce <bbr...@ucdavis.edu>
Reviewed-by: Bobby Bruce <bbr...@ucdavis.edu>
Tested-by: kokoro <noreply+kok...@google.com>
---
M src/python/gem5/components/boards/se_binary_workload.py
1 file changed, 65 insertions(+), 0 deletions(-)
Approvals:
Bobby Bruce: Looks good to me, approved; Looks good to me, approved
kokoro: Regressions pass
diff --git a/src/python/gem5/components/boards/se_binary_workload.py
b/src/python/gem5/components/boards/se_binary_workload.py
index 3193110..404a784 100644
--- a/src/python/gem5/components/boards/se_binary_workload.py
+++ b/src/python/gem5/components/boards/se_binary_workload.py
@@ -25,6 +25,7 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
from .abstract_board import AbstractBoard
+
from ...resources.resource import (
FileResource,
AbstractResource,
@@ -34,6 +35,8 @@
SimpointDirectoryResource,
)
+from gem5.utils.looppoint import LoopPoint
+
from m5.objects import SEWorkload, Process
from typing import Optional, List, Union
@@ -170,3 +173,47 @@
if getattr(self, "_simpoint_resource", None):
return self._simpoint_resource
raise Exception("This board does not have a simpoint set.")
+
+ def set_se_looppoint_workload(
+ self,
+ binary: AbstractResource,
+ arguments: List[str] = [],
+ looppoint: Optional[Union[AbstractResource, LoopPoint]] = None,
+ checkpoint: Optional[Union[Path, AbstractResource]] = 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.
+
+ :param binary: The resource encapsulating the binary to be run.
+ :param arguments: The input arguments for the binary
+ :param looppoint: The LoopPoint object that contain all the
information
+ gather from the LoopPoint files and a LoopPointManager that will
raise
+ exit events for LoopPoints
+ """
+
+ if isinstance(looppoint, AbstractResource):
+ self._looppoint_object = LoopPoint(looppoint)
+ else:
+ assert isinstance(looppoint, LoopPoint)
+ self._looppoint_object = looppoint
+
+ self._looppoint_object.setup_processor(self.get_processor())
+
+ # Call set_se_binary_workload after LoopPoint setup is complete
+ self.set_se_binary_workload(
+ binary=binary,
+ arguments=arguments,
+ checkpoint=checkpoint,
+ )
+
+ def get_looppoint(self) -> LoopPoint:
+ """
+ Returns the LoopPoint object set. If no LoopPoint object has been
set
+ an exception is thrown.
+ """
+ if getattr(self, "_looppoint_object", None):
+ return self._looppoint_object
+ raise Exception("This board does not have a looppoint set.")
--
To view, visit
https://gem5-review.googlesource.com/c/public/gem5/+/67196?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I7afc5c4c743256f7df97345f331b6f72b7a5fd07
Gerrit-Change-Number: 67196
Gerrit-PatchSet: 16
Gerrit-Owner: Zhantong Qiu <zt...@ucdavis.edu>
Gerrit-Reviewer: Bobby Bruce <bbr...@ucdavis.edu>
Gerrit-Reviewer: Zhantong Qiu <zt...@ucdavis.edu>
Gerrit-Reviewer: kokoro <noreply+kok...@google.com>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org