Add XPU testing support with Docker and scripts#2945
Conversation
Signed-off-by: chensuyue <suyue.chen@intel.com>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Merge Protections🔴 1 of 1 protections blocking · waiting on 👀 reviews
🔴 Require two reviewsWaiting for
This rule is failing.PRs labelled "two-reviews" must have at least two approving reviews before merging.
|
There was a problem hiding this comment.
Code Review
This pull request introduces a Buildkite pipeline and Dockerized environment for running XPU tests on Intel GPUs. It adds a conditional pipeline step in .buildkite/pipeline.yml to trigger XPU tests when relevant paths are modified, creates a dedicated Dockerfile.xpu and helper scripts to build the test image and run tests inside a container, and updates the Makefile with a new test-xpu target. The review feedback highlights several critical improvements for the Docker setup and scripts, including dynamically handling the render group GID to avoid permission issues, using unique container names to prevent conflicts, cloning dependencies to /tmp instead of the workspace, ensuring --ipc=host is used to prevent shared memory exhaustion, avoiding shallow git fetches that can break diffs, and optimizing the Dockerfile layers to reduce image size.
|
👋 Hi! Thank you for contributing to llm-compressor. Please add the ready label when the PR is ready for review. Note: This is required to complete the testing suite, please only add the label once the PR is code complete and local testing has been performed. |
Signed-off-by: chensuyue <suyue.chen@intel.com>
Real XPU CI runners are now in place, making the emulation scaffolding from PR vllm-project#2611 unnecessary. This removes: - tests/emulate_device.py: DeviceRemapMode TorchFunctionMode that transparently remapped "xpu" -> "cuda" for fake-XPU testing on CUDA hardware - tests/conftest.py: all emulation code (pytest_addoption --emulate-xpu flag, 3-layer patch setup in pytest_configure, pytest_unconfigure teardown). Kept only the basetemp rank isolation logic for torchrun. Verified: 10/10 non-DDP quantization tests pass on real XPU hardware. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: yiliu30 <yi4.liu@intel.com>
brian-dellabetta
left a comment
There was a problem hiding this comment.
Thanks @chensuyue , a few nits but this looks good to me. Will ask midstream team to review, and i'll kick off the run
| docker ps -a | grep "$CONTAINER_NAME" | ||
|
|
||
| echo "Setup test environment..." | ||
| docker exec "$CONTAINER_NAME" \ |
There was a problem hiding this comment.
why exec in rather than using docker entrypoint/command?
There was a problem hiding this comment.
I have broken the running workflow down into three steps: start, build_env and run test. This should make it easier to identify issues when the test fails.
…ogic Signed-off-by: chensuyue <suyue.chen@intel.com>
…ibility Signed-off-by: chensuyue <suyue.chen@intel.com>
Signed-off-by: chensuyue <suyue.chen@intel.com>
Signed-off-by: chensuyue <suyue.chen@intel.com>
Signed-off-by: yiliu30 <yi4.liu@intel.com>
|
The quality checks have failed. Please run |
|
Hi @chensuyue , looks like some of the tests are failing here, also please run |
SUMMARY:
This pull request introduces an XPU (Intel GPU) testing pipeline to the project, enabling conditional XPU test runs when relevant files change. It includes a new Buildkite pipeline, supporting scripts, a Dockerfile for the XPU test environment, and Makefile integration for running XPU tests. The main changes are organized as follows:
Buildkite Pipeline Integration:
.buildkite/pipeline.yml: Adds a conditional step to trigger XPU tests only when files in XPU_RELEVANT_PATHS..buildkite/xpu-tests/xpu-tests-B60.yml: Defines the XPU test job, specifying the build and test scripts to run on the Intel-XPU-B60 agent queue.XPU Test Environment and Execution:
.buildkite/xpu-tests/docker/Dockerfile.xpu: Introduces a Dockerfile to build the XPU test environment, installing necessary system and Intel GPU dependencies, and setting up a Python 3.12 virtual environment..buildkite/xpu-tests/scripts/image-build-xpu.sh: Adds a script to build (or rebuild if changed) the XPU Docker image, tagging it with a hash label for cache control..buildkite/xpu-tests/scripts/run-tests-xpu.sh: Adds a script to run the XPU tests inside the Docker container, installing dependencies and running the test suite with appropriate hardware bindings.Makefile Integration:
Makefile: Adds atest-xputarget to run the XPU tests using the appropriate pytest configuration.TEST PLAN:
XPU test workflow will be triggered on
Intel-XPU-B60agent pool.