Commit Graph

500 Commits

Author SHA1 Message Date
JanLJL
607d459569 keep dependency paths as generators instead of lists 2021-04-17 12:46:44 +02:00
JanLJL
b033b3b7aa allow different base with prefix for offset values 2021-04-17 11:06:39 +02:00
Julian Hammer
0c295dc847 version bump 2021-04-15 14:47:09 +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
25a0e0607d added missing instructions to all DBs 2021-04-05 16:47:52 +02:00
JanLJL
b0e35316f0 changed consideration of masking for database back to NO 2021-03-25 11:50:17 +01:00
JanLJL
94313ec772 added new instructions and bugfixed the wrong import from uops.info for masks for A FEW instructions 2021-03-25 11:47:15 +01:00
Julian Hammer
63563ecabc flake8 to ignore some errors and small style improvements 2021-03-11 12:52:34 +01: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
Julian Hammer
1ebe5ecfbd sanity check validity of operand entries 2021-03-11 11:38:25 +01:00
Julian Hammer
0c5ac26f3f fixed typos and added missing default load/store info 2021-03-11 10:10:09 +01:00
JanLJL
9a13e5cbc5 guarantee 0 latency for None values in DB 2021-03-11 01:55:57 +01:00
Julian Hammer
dcf3e38612 fix #66 typo in icl.yml
cmp failed with immediates
2021-03-10 11:57:21 +01:00
Julian Hammer
d7a687909e passing parsing errors to the outside 2021-03-05 18:07:36 +01:00
JanLJL
74a479fb95 fixed AArch64 parser for register shifts and new instructions for A64FX 2021-02-25 07:43:42 +01:00
Julian Hammer
4fdf312622 add "sub gpr, gpr" to skx 2021-02-15 11:41:21 +01:00
Julian Hammer
803da767f2 add "vmovapd zmm, zmm" to skx 2021-02-15 11:41:20 +01:00
JanLJL
0e69db9de9 new instructions 2021-01-31 18:11:06 +01:00
JanLJL
9f87606ce8 minor model fixes 2021-01-26 12:56:19 +01:00
JanLJL
768a90de10 cover kernel with only unknown instructions 2021-01-07 12:40:16 +01:00
Jan
8c9557760e Merge pull request #62 from jdomke/attfix
att parser: workaround for crash with "jg,pt" mnemonic
For now we will ignore the branch taken/not-taken indication and will only keep the condition in the mnemonic.
2021-01-07 10:23:39 +01:00
Jan
4dbcfbda5d suppress branch indication in mnemonic for now 2021-01-07 10:20:57 +01:00
JanLJL
ed13cde61b fixed DV port bug 2021-01-07 09:59:18 +01:00
jdomke
4f8ed13309 att parser: support for more mnemonic
found some 'jg,pt' in icc/mkl generated binaries which crashed the
parser, here an example:
 dd8ccd:   3e 7f 90   jg,pt  dd8c60 <mkl_blas_avx2_dtrsm_kernel...
2021-01-05 15:26:22 +09:00
JanLJL
3c7971b347 fixes #61 2020-12-28 10:33:54 +01:00
JanLJL
60f792c4b2 new instructions 2020-12-17 12:38:58 +01:00
JanLJL
449932d75b version bump 2020-12-11 01:00:30 +01:00
JanLJL
8e3d613843 new instructions 2020-12-09 11:52:10 +01:00
JanLJL
2093610bbf add support for :: delimiter in x86 labels and identifiers 2020-12-07 02:45:49 +01:00
JanLJL
f9f1120da6 added support for absolute address operands without brackets 2020-12-07 01:57:06 +01:00
JanLJL
e87ab5d6ca new instruction 2020-12-07 01:18:32 +01:00
JanLJL
82b35e7649 new instruction 2020-12-07 01:18:32 +01:00
JanLJL
23623ca18a enhancements for lookup and parsing AArch64 instrs 2020-12-07 01:18:32 +01:00
JanLJL
b9e434d124 new instructions 2020-12-07 01:18:32 +01:00
JanLJL
81ce395115 added the possibility of a 5th operand 2020-12-06 18:05:59 +01:00
JanLJL
f41854a0a6 better port order and a few new instructions 2020-12-06 18:05:36 +01:00
JanLJL
d7e5e12961 version bump 2020-11-23 10:43:00 +01:00
JanLJL
6bc6349c25 fetch version from __init__ file and write uarch in upper case 2020-11-21 21:33:33 +01:00
JanLJL
f69b5f88f0 removed false entries 2020-11-21 21:02:44 +01:00
JanLJL
596a323dfb bugfixes 2020-11-21 21:00:58 +01:00
JanLJL
08b4586b71 replaced b4799d1d with smarter solution 2020-11-20 15:44:49 +01:00
JanLJL
ffb263e20f more instructions 2020-11-20 15:37:32 +01:00
JanLJL
b4799d1d45 bugfix for immediate shifts with hex-base 2020-11-20 15:22:05 +01:00
Julian Hammer
4ff8fdc4ab version bump 2020-11-11 15:14:27 +01:00
JanLJL
92c162daa2 new instructions 2020-11-11 13:54:23 +01:00
JanLJL
87ea8f0f0a new instructions 2020-11-11 12:27:49 +01:00
Julian Hammer
cb04efc384 fixed typo 2020-11-10 13:33:24 +01:00
JanLJL
14c0ea6180 bugfixes 2020-11-09 23:29:42 +01:00
Julian Hammer
314ff4cf9d improved performance of arch_semantics and reg dependency matching 2020-11-09 19:27:47 +01:00