Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking Issue: Automated Test/Support Coverage Reporting #116

Closed
24 of 26 tasks
PhilippvK opened this issue Oct 20, 2024 · 8 comments
Closed
24 of 26 tasks

Tracking Issue: Automated Test/Support Coverage Reporting #116

PhilippvK opened this issue Oct 20, 2024 · 8 comments
Assignees
Labels
infra:docs Improvements or additions to documentation infra:testing priority:high type:enhancement New feature or request type:help wanted Extra attention is needed type:support

Comments

@PhilippvK
Copy link
Member

PhilippvK commented Oct 20, 2024

As discussed on Friday, we need an (automated) flow to track and report which kinds of instructions are currently being supported by Seal5. As the project is quite ambitious, I came up with a number of sub-tasks which can be implemented on individually.

Tasks

  1. Properties of Instructions
  1. Status/Support of Instructions in Seal5 Flow
  1. Tracking LLVM Test Results
  1. Analysis and Grouping
  1. Generation of Reports
  1. Automation (CI/CD)
  1. Miscellaneous
@PhilippvK PhilippvK added infra:docs Improvements or additions to documentation type:enhancement New feature or request type:help wanted Extra attention is needed type:support priority:high infra:testing labels Oct 20, 2024
@PhilippvK PhilippvK self-assigned this Oct 20, 2024
@PhilippvK
Copy link
Member Author

@thomasgoodfellow @dlr-jas @kebi-be @AndHager Feel free to add any comments or assign any tasks you would like to work on.

Tomorrow I can share some more notes!

@PhilippvK
Copy link
Member Author

I am making good progress.

@thomasgoodfellow @kebi-be @dlr-jas
Using the example CSV snippes I have posted in #117, #120 & #123 you should be able to get started with Task 4. & 5.

I will start working on some CI/CD changes to generate the CSVs automatically and look into adding more test cases!

@PhilippvK
Copy link
Member Author

@kebi-be @dlr-jas @thomasgoodfellow @AndHager

I made quite good progress this week:

  • Fixed broken Core-V Demo
  • Fixed broken unit tests
  • Implemented more unit tests
  • Generate raw data artifacts in reports
  • Write data as markdown to Workflow Summary

See here for the recent run: https://github.com/tum-ei-eda/seal5/actions/runs/11630150544

Based on this, we you can always get the latest csv files by downloading the demo-*-reports artifact. Since the data is already available, it should be easy to do the combination/analysis and generation of the final reports in a CI job.

Further, I added more properties which should help grouping/filtering the instructions:

  • enc_size: 16/32/48bit
  • is_compressed: enc_size == 16
  • op_code: (OP-IMM, LOAD, custom-0,…)
  • enc_format: (r-type, i-type, …)
  • {uses,defs}_custom_reg: in case non-GPR registers are used, we can not generate patterns
  • has_imm_leaf (not pushed yet): If the behavior contains operations on immediate inputs which can be constant folded, the generated pattern will never match. This detection should let us skip the pattern-gen stage for incompatible instructions.

@kebi-be
Copy link
Collaborator

kebi-be commented Nov 5, 2024

Currently using the examples of the OpenASIP_base for Task4 and Task5. This concept will be used for analysing the data in the CI as mentioned by @PhilippvK

@kebi-be
Copy link
Collaborator

kebi-be commented Nov 7, 2024

@PhilippvK: There is an error in the "test_results.cvs"data from the https://github.com/tum-ei-eda/seal5/actions/runs/11630150544 which results to error when merging the files. Used the corev demo reports.
Columns: model_name,set,xlen,instr,test_kind,test_file,test_fmt,result,model
Fix: rename model_name to model and delete redundant column "model" at the end

@PhilippvK
Copy link
Member Author

I will take care of this today, thanks!

@PhilippvK
Copy link
Member Author

@PhilippvK: There is an error in the "test_results.cvs"data from the https://github.com/tum-ei-eda/seal5/actions/runs/11630150544 which results to error when merging the files. Used the corev demo reports.
Columns: model_name,set,xlen,instr,test_kind,test_file,test_fmt,result,model
Fix: rename model_name to model and delete redundant column "model" at the end

Fixed!

@PhilippvK
Copy link
Member Author

I will close this as all remaining steps can be discusses in the related separate issues.

Thank you for your help @kebi-be!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
infra:docs Improvements or additions to documentation infra:testing priority:high type:enhancement New feature or request type:help wanted Extra attention is needed type:support
Projects
None yet
Development

No branches or pull requests

2 participants