1. Feb 08, 2024
  2. Feb 05, 2024
    • Knute's avatar
      Add an example of PEvent generation (#145) · 8694a717
      Knute authored
      
      
      This SHA is an example of how to generate PEvents (Performance Events)
      typically used for correlation
      efforts between a perf model and hardware.
      
      PEvents are a more "compact" form of the pipeout collection pairs,
      allowing a modeler to specify more direct items
      for collection. Pipeout pairs can be more elaborate/detailed. However,
      with some clever coding, there can be
      reuse -- it's not done here.
      
      To generate performance events, use the command line parameter
      `--pevents <filename> <pevent1,pevent2,...|all>`.
      
      Examples:
      ```
      # All pevents
      ./olympia traces/dhry_riscv.zstf --pevents retire.out all -i100
      
      # Just RETIRE pevent
      ./olympia traces/dhry_riscv.zstf --pevents retire.out RETIRE -i100
      
      # RETIRE and COMPLETE pevent
      ./olympia traces/dhry_riscv.zstf --pevents retire.out COMPLETE,RETIRE -i100
      ```
      
      While I was at it, I removed the generated annotation for pipeline
      collection for LoadStore/MemoryAccess classes -- uses NVP which
      generates faster, as well as creates smaller pipeouts.
      
      ---------
      
      Signed-off-by: default avatarKnute <56927209+klingaard@users.noreply.github.com>
      8694a717
  3. Jan 06, 2024
  4. Sep 28, 2023
  5. Jul 08, 2023
  6. Jun 15, 2023
  7. May 21, 2023
  8. May 12, 2023
  9. May 08, 2023
  10. Mar 14, 2023
  11. Feb 22, 2023
  12. Jan 14, 2023
  13. Dec 09, 2022
  14. Dec 07, 2022
  15. Nov 27, 2022
    • Knute Lingaard's avatar
      Issue #5: Dynamic Execution Topologies (#18) · bfa49bda
      Knute Lingaard authored
      
      
      In this PR, Execute is now it's own node and dynamically creates
      execution pipes based on extensions listed in the
      config files:
      ```
      top.cpu.core0.extension.core_extensions:
        execution_topology:
        [["alu", "6"],
         ["fpu", "2"],
         ["br",  "2"]]
      ```
      
      Work done;
      - Added new class `Dispatcher` that is dynamically created by `Dispatch`
      for each execution pipe defined in the `execution_topology` extension
      - Added new class `Execute` that is a node created for the sole purpose
      of dynamically creating the `ExecutePipe` objects based on the
      `execution_topology` extension
      - Cleaned up old code
      - Reduced the `CPUTopology` structure to just static components like
      Fetch, Decode, Rename, Dispatch, Execute, LS/etc, and Retire
      - Updated the arches to include a small, medium, and big core. Dhrystone
      trace improves with each architecture, but is limited by LS.
      
      Signed-off-by: default avatarKnute Lingaard <knute.lingaard@sifive.com>
      Co-authored-by: default avatarZhen Wei <zhen.wei@sifive.com>
      bfa49bda
  16. Oct 11, 2022
  17. Sep 30, 2022
  18. Sep 29, 2022
  19. Sep 28, 2022
  20. Sep 24, 2022
  21. Sep 20, 2022
  22. Sep 07, 2022
    • Knute's avatar
      Adds Mavis support to read trace in JSON form (#14) · 66334d7f
      Knute authored
      
      
      * Mavis added as a submodule
      
      * Mavis is installed and compiling!  Not used yet
      
      * Mavis instantiated; complains about no uarch files: good!
      
      * Updated mavis to gcc branch fixes
      
      * Mavis is now installed and loading arch files
      
      * Workload added and passed to Fetch
      
      * Now have json files running
      
      * Olympia can now run json traces
      
      * Updated documentation -- still more work to do
      
      * Updated documentation -- still more work to do
      
      * Updated documentation -- still more work to do
      
      * Declare InstPtr type within olympia namespace
      
      * Removed outdated fetch param; tests still failing
      
      * Added json test in regress
      
      * Fixed LLVM compilation warnings
      
      * Fixed conflicts
      
      Co-authored-by: default avatarKnute Lingaard <Knute.Lingaard@sifive.com>
      Co-authored-by: default avatarzen <zhen.wei@sifive.com>
      66334d7f
  23. Aug 01, 2022
    • Knute's avatar
      Knutel/argos layouts (#13) · 2f403c22
      Knute authored
      * Added Argos layouts
      * Added core 80 layout
      * Added plotting support and updated README
      * Fixed report; changed inst state to simple enum
      2f403c22
  24. Jan 17, 2022
  25. Dec 03, 2021
  26. Sep 01, 2021
  27. Jul 28, 2021