-
Notifications
You must be signed in to change notification settings - Fork 581
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
Move benchmark config generation to build_e2e_test_artifacts #13291
Conversation
c293df0
to
093dc25
Compare
093dc25
to
c7bea5d
Compare
Abbreviated Benchmark Summary@ commit cafbb97d844c7ecbdf31b516ec97c70272291270 (vs. base 34e07706941838b442fbf21d1b615b54590d7f05) No improved or regressed benchmarks 🏖️ No improved or regressed compilation metrics 🏖️ For more information: |
- name: "Downloading assets" | ||
id: "download-assets" | ||
env: | ||
COMPILATION_CONFIG: ${{ steps.export.outputs.compilation-config }} | ||
BENCHMARK_CONFIG: ${{ env.E2E_TEST_ARTIFACTS_DIR }}/compilation-benchmark-config.json | ||
BENCHMARK_CONFIG_GCS_ARTIFACT: ${{ env.E2E_TEST_ARTIFACTS_GCS_ARTIFACT_DIR }}/compilation-benchmark-config.json |
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.
It looks tedious for me to export each artifact path from build_e2e_test_artifacts
, so I choose to use hard-coded names for files under ${E2E_TEST_ARTIFACTS_DIR}.
When working on #13273, I noticed that benchmark configs and modules are uploaded in 3 different jobs. These artifacts can be uploaded to different GCS dirs when some of them are re-run due to failures (because re-run jobs will create [GCS_DIR with new run attempts](https://github.com/openxla/iree/blob/main/.github/workflows/benchmark_compilation.yml#L44-L50)). As a result, users might not be able to download all benchmark artifacts from a single GCS dir URL, which can be confusing. This PR changes the workflow to generate all benchmark modules and configs in `build_e2e_test_artifacts` to avoid such issue. All files are uploaded to `${GCS_URL}/e2e-test-artifacts`, a single path to download all benchmark artifacts. Besides the reason above, I think during the CMake build we should generate the benchmark configs under `${IREE_BUILD_DIR}/e2e_test_artifacts` instead of calling `export_benchmark_config.py` separately. There are some questions about how to pass the benchmark presets/filters through CMake configuration, so I decided to defer that as the next step.
…g#13291) When working on iree-org#13273, I noticed that benchmark configs and modules are uploaded in 3 different jobs. These artifacts can be uploaded to different GCS dirs when some of them are re-run due to failures (because re-run jobs will create [GCS_DIR with new run attempts](https://github.com/openxla/iree/blob/main/.github/workflows/benchmark_compilation.yml#L44-L50)). As a result, users might not be able to download all benchmark artifacts from a single GCS dir URL, which can be confusing. This PR changes the workflow to generate all benchmark modules and configs in `build_e2e_test_artifacts` to avoid such issue. All files are uploaded to `${GCS_URL}/e2e-test-artifacts`, a single path to download all benchmark artifacts. Besides the reason above, I think during the CMake build we should generate the benchmark configs under `${IREE_BUILD_DIR}/e2e_test_artifacts` instead of calling `export_benchmark_config.py` separately. There are some questions about how to pass the benchmark presets/filters through CMake configuration, so I decided to defer that as the next step.
When working on #13273, I noticed that benchmark configs and modules are uploaded in 3 different jobs. These artifacts can be uploaded to different GCS dirs when some of them are re-run due to failures (because re-run jobs will create GCS_DIR with new run attempts). As a result, users might not be able to download all benchmark artifacts from a single GCS dir URL, which can be confusing.
This PR changes the workflow to generate all benchmark modules and configs in
build_e2e_test_artifacts
to avoid such issue. All files are uploaded to${GCS_URL}/e2e-test-artifacts
, a single path to download all benchmark artifacts.Besides the reason above, I think during the CMake build we should generate the benchmark configs under
${IREE_BUILD_DIR}/e2e_test_artifacts
instead of callingexport_benchmark_config.py
separately. There are some questions about how to pass the benchmark presets/filters through CMake configuration, so I decided to defer that as the next step.