[AMD] ci: run multimodal_gen unit suite on AMD (#30309)
This commit is contained in:
@@ -34,6 +34,7 @@ on:
|
||||
- stage-b-test-2-gpu-large-amd
|
||||
- multimodal-gen-test-1-gpu-amd
|
||||
- multimodal-gen-test-2-gpu-amd
|
||||
- multimodal-gen-unit-test-amd
|
||||
- stage-c-test-4-gpu-amd
|
||||
- stage-c-test-large-8-gpu-amd
|
||||
- stage-c-test-large-8-gpu-amd-mi35x
|
||||
@@ -889,6 +890,65 @@ jobs:
|
||||
if-no-files-found: ignore
|
||||
retention-days: 7
|
||||
|
||||
# AMD counterpart of the CUDA `multimodal-gen-unit-test` job
|
||||
# (pr-test-multimodal-gen.yml): the mm_gen `unit` suite is portable,
|
||||
# CPU-style unit tests (config / sampling params / storage / loaders / etc.)
|
||||
# that don't require NVIDIA hardware, so they should run on AMD too. This
|
||||
# closes the AMD coverage gap the dashboard surfaces for these tests.
|
||||
multimodal-gen-unit-test-amd:
|
||||
name: ${{ format('multimodal-gen-unit-test-amd (linux-{0}-1gpu-sglang)', inputs.runner_arch || 'mi325') }}
|
||||
needs: [check-changes, call-gate]
|
||||
if: |
|
||||
always() && !cancelled() &&
|
||||
(
|
||||
(contains(format(',{0},', inputs.target_stage || inputs.target_stage_select), ',multimodal-gen-unit-test-amd,')) ||
|
||||
(
|
||||
!(inputs.target_stage || inputs.target_stage_select) &&
|
||||
(needs.call-gate.result == 'success' || needs.call-gate.result == 'skipped') &&
|
||||
needs.check-changes.outputs.multimodal_gen == 'true'
|
||||
)
|
||||
)
|
||||
runs-on: ${{ format('linux-{0}-1gpu-sglang', inputs.runner_arch || 'mi325') }}
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ inputs.pr_head_sha || inputs.ref || github.sha }}
|
||||
|
||||
- name: Ensure VRAM is clear
|
||||
run: bash scripts/ci/amd/ensure_vram_clear.sh rocm
|
||||
|
||||
- name: Download artifacts
|
||||
if: needs.check-changes.outputs.sgl_kernel == 'true'
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
path: sgl-kernel/dist/
|
||||
merge-multiple: true
|
||||
pattern: wheel-python3.10-cuda12.9
|
||||
|
||||
- name: Start CI container
|
||||
run: bash scripts/ci/amd/amd_ci_start_container.sh
|
||||
env:
|
||||
GITHUB_WORKSPACE: ${{ github.workspace }}
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
bash scripts/ci/amd/amd_ci_install_dependency.sh diffusion
|
||||
|
||||
- name: Run diffusion unit tests
|
||||
timeout-minutes: 60
|
||||
run: |
|
||||
# Skip ltx2_vae_channels_last: it asserts CUDA `channels_last_3d`
|
||||
# memory-format behavior that the ROCm conv path doesn't reproduce
|
||||
# (CUDA-specific). The rest of the unit suite is portable.
|
||||
docker exec \
|
||||
-e AITER_JIT_DIR=/sgl-data/aiter-kernels \
|
||||
-e MIOPEN_USER_DB_PATH=/sgl-data/miopen-cache \
|
||||
-w /sglang-checkout/python \
|
||||
ci_sglang python3 sglang/multimodal_gen/test/run_suite.py \
|
||||
--suite unit \
|
||||
-k "not ltx2_vae_channels_last" \
|
||||
${{ needs.check-changes.outputs.continue_on_error == 'true' && '--continue-on-error' || '' }}
|
||||
|
||||
wait-for-stage-b-amd:
|
||||
needs: [check-changes, call-gate, wait-for-stage-a-amd]
|
||||
@@ -1204,6 +1264,7 @@ jobs:
|
||||
sgl-kernel-unit-test-2-gpu-amd,
|
||||
multimodal-gen-test-1-gpu-amd,
|
||||
multimodal-gen-test-2-gpu-amd,
|
||||
multimodal-gen-unit-test-amd,
|
||||
|
||||
wait-for-stage-a-amd,
|
||||
stage-a-test-1-gpu-small-amd,
|
||||
|
||||
Reference in New Issue
Block a user