harvard-acc / ALADDIN

A pre-RTL, power-performance model for fixed-function accelerators
Other
167 stars 55 forks source link

integration-test: Add automated MachSuite tests. #32

Closed yaoyuannnn closed 4 years ago

yaoyuannnn commented 4 years ago

We previously had to manually use the sweep generator and run the sweeps. This adds automated pytests for running MachSuite benchmarks.

This was initially written in unittest, but changed to pytest because it offers a much easier way to enable dynamic test generation. Also, pytest-xdist plugin is used to run the tests in parallel. We can run the tests with 8 process using the following:

pytest run_sweep_tests.py -n 8 --sweep-file=machesuite_dma.xe

TESTED=integration-test

yaoyuannnn commented 4 years ago

Can you explain how this dynamic test generation works? I don't know where the configs are coming from. Also, I assume you've tested this? I know you can't put it in the Aladdin CI (but I really wish you could...).

Yes. I added some paragraphs at the beginning of conftest.py. And yes, I tested this locally. I don't know if it's worth merging Aladdin into the gem5-Aladdin repo as a real piece of it rather than a submodule, that may simplify things (we'll be able to see CI results for these sweep tests here).

xyzsam commented 4 years ago

FYI - approving because all that's left are cosmetic changes. Unlike Gerrit, a reviewer can approve and allow the author to make more changes before submitting without needing another round of review, which is much more efficient.