Commit Graph

50 Commits

Author SHA1 Message Date
JanLJL
ab10febe74 enhanced YAML output to include all kernel objects and no ruamel.yaml-specific data types 2023-08-15 14:01:11 +02:00
Stephen Nicholas Swatman
e1ce402133 Add support for structured YAML output
This commit adds a new `--yaml-out` flag to OSACA which allows the user
to dump the results of an analysis to a YAML file, allowing them to
analyse the file more easily. I have tried to make the output as
comprehensive as possible.
2023-08-12 19:43:43 +02:00
JanLJL
d1201ace11 added more dependency analysis for post/pre indexing and condition flags 2023-03-14 17:00:02 +01:00
JanLJL
968c71b7b6 black formatting 2021-11-04 12:11:15 +01:00
JanLJL
72e85075c2 better output formatting 2021-11-04 11:55:48 +01:00
JanLJL
d418c16f4a applied flake8 and black rules 2021-08-26 16:58:19 +02:00
JanLJL
1de644cd62 fixed incompatibilty to py3.6 2021-04-20 13:59:56 +02:00
JanLJL
152360bad2 enhanced LCD analysis by making it parallel and added timeout flag 2021-04-19 00:04:03 +02:00
Julian
08440ed5e1 Validation (#71)
Validating of OSACA predictions for IVB, SKX, ZEN1, ZEN2, A64FX and TX2 with different kernels.

build_and_run.py contains the configuration used at RRZE's testcluster and UR's qpace4, Analysis.ipynb contains the analysis script and results. Raw data from measurements (122MB) will be attached to next OSACA release.

For now, find the raw data here: https://hawo.net/~sijuhamm/d/UPIhBOtz/validation-data.tar.gz

The analysis report can be viewed at https://nbviewer.jupyter.org/github/RRZE-HPC/OSACA/blob/validation/validation/Analysis.ipynb

Quite a few changes on OSACA included:

Feature: register change tracking via semantic understanding of operations
Feature: recording LCD latency along path and exposing this to frontend
Feature: support for memory reference aliases
Feature: store throughput scaling (similar to load throughput scaling)
Fix: model importer works with latest uops.info export
Fix: immediate type tracking on ARM now preserves type in internal representaion
Removed unused KerncraftAPI
2021-04-15 14:42:37 +02:00
Julian Hammer
b7625a4a25 making flake8 happy 2021-03-11 12:29:14 +01:00
Julian Hammer
6204c90934 migrate code style to Black 2021-03-11 12:02:45 +01:00
JanLJL
768a90de10 cover kernel with only unknown instructions 2021-01-07 12:40:16 +01:00
JanLJL
6bc6349c25 fetch version from __init__ file and write uarch in upper case 2020-11-21 21:33:33 +01:00
Julian Hammer
cb04efc384 fixed typo 2020-11-10 13:33:24 +01:00
JanLJL
207c53aaad minor bugfix in HW model and added user warnings for more insight 2020-11-06 15:06:36 +01:00
JanLJL
c64a24ae1b no \t replacement before any other point than user output 2020-10-16 09:44:18 +02:00
JanLJL
1009c60d2d fixed wrong output format for 3-digit TP numbers 2020-04-08 21:28:50 +02:00
Julian Hammer
ac1295aac2 flag string in output now in line with required flags 2020-03-24 16:02:40 +01:00
JanLJL
c194f57f09 renamed doc to docs and more documentation 2020-03-05 15:28:30 +01:00
JanLJL
9a60aa2c28 minor fixes and removed unnecessary load_tps 2020-02-26 15:40:52 +01:00
JanLJL
559c95a34a bugfix for missing warning 2020-01-29 23:13:59 +01:00
Julian Hammer
530ad8484e frontend returns strings; added helper function to calc. unmatched ratio 2020-01-28 17:24:00 +01:00
JanLJL
3ca2586bac added --ignore-unknown flag and major updates in x86 parser 2020-01-09 17:57:08 +01:00
JanLJL
bbb004a2aa added default load TP and relocation in identifier 2019-12-18 16:56:20 +01:00
JanLJL
9d069c39d9 performance enhancement by removing unnecessary DB parsings 2019-12-02 15:39:59 +01:00
JanLJL
47e39f1f77 added documentation 2019-11-08 09:55:20 +01:00
JanLJL
697c5b5f4b minor updates 2019-11-06 10:54:31 +01:00
JanLJL
f3f91536b5 added missing data ports in DB and nicer CP view for frontend 2019-10-31 19:40:20 +01:00
JanLJL
0b78d290ec enhanced by optimal throughput analysis 2019-10-29 16:52:34 +01:00
JanLJL
0f5d3a0370 separated SemanticsAppender into ISA and Arch semantics 2019-10-29 09:09:52 +01:00
JanLJL
8b4acf0508 fixed last problems with ibench import 2019-10-24 12:38:26 +02:00
JanLJL
159a1fa343 added combined view for TP/CP/LDC 2019-10-16 19:00:24 +02:00
JanLJL
d92523e133 changed DBs to new port_pressure structure 2019-10-16 10:06:47 +02:00
Julian Hammer
792bbb1166 removed some unnecessary file checks and fixed up test cases 2019-10-11 16:13:58 +02:00
JanLJL
586fee5306 version bump and dependency in setup 2019-09-27 18:25:25 +02:00
JanLJL
625d814dce new dynamic tp and lt values for LD instructions 2019-09-26 21:39:56 +02:00
JanLJL
f278180402 nicer perspective of loop-carried deps 2019-09-18 00:09:26 +02:00
JanLJL
fb834e5533 changed zen port model from combined LD/ST to separate ones 2019-09-06 16:12:37 +02:00
JanLJL
e737abd58f bugifx 2019-08-30 13:53:45 +02:00
JanLJL
5bb6b94803 bugifx 2019-08-30 13:50:18 +02:00
JanLJL
0173481bec more tests for frontend 2019-08-30 12:28:04 +02:00
JanLJL
ae5845b944 added tests for loop-carried deps and changed data structure of them to dict 2019-08-30 10:11:51 +02:00
JanLJL
7dc14fbf39 added CLI 2019-08-29 14:23:37 +02:00
JanLJL
80e741d411 enhanced frontend and added hidable load port 2019-08-29 14:03:16 +02:00
JanLJL
7855166624 fixed loop-carried dependency check and minor fixes in DBs 2019-08-28 13:07:24 +02:00
JanLJL
df8a81bf4d initial version of loop-carried dependencies checker 2019-08-23 19:01:20 +02:00
JanLJL
b09129eeb7 more tests for Arm 2019-08-09 11:01:08 +02:00
JanLJL
ec666b7c79 bugfixes, nicer frontend and first AMD Zen data added 2019-07-25 23:17:10 +02:00
JanLJL
b031b887a6 bugfix 2019-07-24 11:53:02 +02:00
JanLJL
cb75bf52ab first basic analysis version 2019-07-24 10:57:19 +02:00