-
Notifications
You must be signed in to change notification settings - Fork 682
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
Migrating regression suite to iree-test-suite #20194
Conversation
iree-test-suite PR 87 will fix the build issue :) |
build_tools/pkgci/external_test_suite/sdxl_pipeline_bench_f16.mlir
Outdated
Show resolved
Hide resolved
"inputs": [ | ||
{ | ||
"source": "https://sharkpublic.blob.core.windows.net/sharkpublic/sai/sd3-prompt-encoder/inference_input.0.bin", | ||
"value": "1x77x2xi64" | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(I think this is tracked in iree-org/iree-test-suites#81, fine to continue as-is for now)
These can be moved to git LFS in the test suite repo.
- File paths should not have usernames in them (
sai
here) - Files should be editable by any developer (send a PR, get it approved, merge it), not just those with permission to work in this cloud project
"mi300": 1.1, | ||
"mi308": 1.1 | ||
}, | ||
"device": "hip", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(I think this is tracked in iree-org/iree-test-suites#81, fine to continue as-is for now)
This could maybe be represented via general compile_flags
and run_flags
instead of this potentially magic "device" setting that the test suite uses to change behavior.
I would also group the compile/run/benchmark flags in the config file before the benchmark expectations (golden_*
)
Thinking of how developers interact with the benchmarks, we might also want to fold the metrics into a smaller set of files somehow, so developers don't need to search through files
which file had the
golden_time_ms
for this test failure?
Moving to an automatically managed database instead of manually edited source files would also solve that problem.
Looks like there's an issue with iree-test-suite, will fix that |
Wanted to flag to make sure the recently added RDNA4 tests didn't mysteriously disappear on us |
hi, from the looks of it, the RDNA4 tests look safe to me! i'll keep note and make sure those new tests are not deleted! |
@aviator19941 tagged so you'll get a notif when this goes through to add llama 🦙 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool! The setup here looks good and the logs are showing the right tests and benchmarks running and passing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, @ScottTodd can you do the final review?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! Can you make a pass through the PR description and add a bit more context, like
- A link to the code in iree-test-suites
- Instructions for where the new config files are located in this repository, for when benchmark numbers change and developers need to update them
- Drop "via composite action"
- Link to any related issues (I thought we had one filed for this migration)
@ScottTodd merge this through whenever you can! (after the tests all pass too) |
Thanks. I made some edits to the PR description and will merge now, without waiting for checks. The CI has a 2 hour queue right now due to only having a single w7900 runner: https://github.com/iree-org/iree/actions?query=is%3Aqueued. |
Progress on iree-org/iree-test-suites#81 and iree-org#19115. This moves regression test logic over to [iree-test-suites](https://github.com/iree-org/iree-test-suites) and calls those regression test files with JSON configuration files from this repository. * Quality test JSON configuration files are now at `tests/external/iree-test-suites/sharktank_models/quality_tests/` * Benchmark test JSON configuration are now at `tests/external/iree-test-suites/sharktank_models/benchmarks/` * Test file configurations (such as mlir files) are now at `tests/external/iree-test-suites/test_suite_files/` For previous PR reference: iree-org#20124
Hi - rather late followup question: where'd # Compile the model, downloading parameters if needed
pytest ../iree/experimental/regression_suite/shark-test-suite-models/sdxl/test_unet.py
# Actually run the benchmark
env ROCR_VISIBLE_DEVICES=4 iree-benchmark-module --device=hip --device_allocator=caching --module=sdxl_unet_fp16_vmfbs/model.rocm_gfx942.vmfb --parameters=model=artifacts/sdxl_unet_fp16/real_weights.irpa --function=run_forward --input=1x4x128x128xf16 --input=2x64x2048xf16 --input=2x1280xf16 --input=2x6xf16 --input=1xf16 --input=1xi64 --benchmark_repetitions=10 --benchmark_min_warmup_time=3.0 adjusting for the architecture, data type, etc. What's the replacement for this? |
hi! so the logic for compiling and running tests are here and benchmark tests are here. we run the tests inside the iree repo, and we pull data from these JSON configuration files: quality JSON configs , benchmark JSON config in terms of architecture, we pull that data from this github action matrix |
Ok, so, further questions, because I realized part of my issue: why's |
(I'm specifically looking at the quality_tests directory) |
ah, so the JSON config in iree-test-suites are just for example. we only have the generic ubuntu github runners for iree-test-suites, so we can't run any rocm tests Our thoughts for this is that any user can use iree-test-suites code (locally or in another repo) to test any JSON configuration, and the iree repo is just a "user" of the iree-test-suite code to test their own JSON configuration setup (sdxl, sd3, etc) |
We can also add some quality of life scripts for cloning the test suites repo and running tests using the configs from the iree repo. Or just more documentation. |
BTW we do have mi300 runners from ossci accessible in iree-test-suites now. We should be able to add some rocm tests there for easier development of the test suite itself. |
To answer my own question # make a directory, active the iree venv in it (with your iree build editably installed), install iree-test-suites/sharktank-models into said venv editably are the one-time steps
export BACKEND=rocm
export TEST_OUTPUT_ARTIFACTS=$PWD
pytest ../iree-test-suites/sharktank_models/quality_tests/ -rpfE --log-cli-level=info --test-file-directory=../iree/tests/external/iree-test-suites/sharktank_models/quality_tests --external-file-directory=../iree/build_tools/pkgci/external_test_suite I'll note that said "external file directory" doesn't seem to exist, but specifying it doesn't hurt |
Progress on iree-org/iree-test-suites#81 and #19115.
This moves regression test logic over to iree-test-suites and calls those regression test files with JSON configuration files from this repository.
tests/external/iree-test-suites/sharktank_models/quality_tests/
tests/external/iree-test-suites/sharktank_models/benchmarks/
tests/external/iree-test-suites/test_suite_files/
For previous PR reference: #20124