[diffusion] model: support minimax-h3 (#33275)
Co-authored-by: zhenaozhenfu <zhenaozhenfu@minimaxi.com> Co-authored-by: BBuf <1182563586@qq.com> Co-authored-by: andyluo7 <andy.luo@amd.com> Co-authored-by: Zijie Xia <zijie_xia@icloud.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: chao-xue <877184285@qq.com> Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
co-authored by
zhenaozhenfu
BBuf
andyluo7
Zijie Xia
Claude Fable 5
chao-xue
Cursor
parent
0877a0e2f1
commit
70fe2e0dd5
@@ -435,6 +435,55 @@ jobs:
|
||||
- uses: ./.github/actions/upload-cuda-coredumps
|
||||
if: failure()
|
||||
|
||||
multimodal-gen-test-4-h100:
|
||||
# Temporarily disabled while the 4-gpu-h100 runner is unstable
|
||||
if: ${{ false }}
|
||||
runs-on: 4-gpu-h100
|
||||
timeout-minutes: 90
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ inputs.git_ref || github.sha }}
|
||||
|
||||
- uses: ./.github/actions/check-pr-test-health
|
||||
|
||||
- uses: ./.github/actions/check-maintenance
|
||||
|
||||
- name: Download artifacts
|
||||
if: inputs.sgl_kernel == 'true'
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
path: python/sglang/kernels/aot/dist/
|
||||
merge-multiple: true
|
||||
pattern: wheel-python3.10-cuda*
|
||||
|
||||
- name: Install dependencies
|
||||
timeout-minutes: 20
|
||||
run: |
|
||||
CUSTOM_BUILD_SGL_KERNEL=${{inputs.sgl_kernel}} bash scripts/ci/cuda/ci_install_dependency.sh diffusion
|
||||
|
||||
- name: Run MiniMax-H3 PR smoke test
|
||||
timeout-minutes: 45
|
||||
env:
|
||||
RUNAI_STREAMER_MEMORY_LIMIT: 0
|
||||
SGLANG_TEST_WAIT_SECS: 1800
|
||||
SGLANG_DIFFUSION_ARTIFACT_DIR: ${{ github.workspace }}/diffusion-failures
|
||||
run: |
|
||||
cd python
|
||||
python3 sglang/multimodal_gen/test/run_suite.py --suite 4-gpu-h100
|
||||
|
||||
- name: Upload diffusion failure artifacts
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: diffusion-failures-${{ github.job }}-${{ github.run_attempt }}
|
||||
path: diffusion-failures/
|
||||
if-no-files-found: ignore
|
||||
|
||||
- uses: ./.github/actions/upload-cuda-coredumps
|
||||
if: failure()
|
||||
|
||||
multimodal-gen-unit-test:
|
||||
if: |
|
||||
((github.event_name == 'schedule' || inputs.test_parallel_dispatch == 'true') || (inputs.caller_needs_failure != 'true' && !cancelled())) &&
|
||||
|
||||
@@ -15,6 +15,11 @@ on:
|
||||
description: "Docker Hub repo to push to. Use lmsysorg/sglang-staging for testing."
|
||||
required: false
|
||||
default: "lmsysorg/sglang"
|
||||
build_only:
|
||||
description: "Build and validate one Linux AMD64 CUDA 13 image locally on the runner without logging in or pushing."
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
overlay_dockerfile:
|
||||
description: "Optional extra Dockerfile lines appended after FROM <base> to build a layered image (e.g. 'RUN pip install ...'). Note: this job has no repo checkout, so only FROM + RUN work — you cannot COPY files from this repo. Leave empty to skip overlay."
|
||||
required: false
|
||||
@@ -135,6 +140,7 @@ jobs:
|
||||
|
||||
build-and-publish:
|
||||
needs: prepare
|
||||
if: ${{ !inputs.build_only }}
|
||||
uses: ./.github/workflows/_docker-build-and-publish.yml
|
||||
with:
|
||||
docker_target: framework_final
|
||||
@@ -144,9 +150,68 @@ jobs:
|
||||
image_repo: ${{ inputs.image_repo || 'lmsysorg/sglang' }}
|
||||
secrets: inherit
|
||||
|
||||
build-only:
|
||||
needs: prepare
|
||||
if: ${{ inputs.build_only && github.repository == 'sgl-project/sglang' }}
|
||||
runs-on: x64-docker-build-node
|
||||
env:
|
||||
IMAGE: sglang-diffusion-build-only:${{ github.run_id }}-${{ github.run_attempt }}
|
||||
SOURCE_DIR: source-${{ github.run_id }}-${{ github.run_attempt }}
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ needs.prepare.outputs.checkout_ref || github.ref }}
|
||||
path: ${{ env.SOURCE_DIR }}
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Build CUDA 13 diffusion image locally (no push)
|
||||
run: |
|
||||
cd "$SOURCE_DIR"
|
||||
docker buildx build \
|
||||
--target framework_final \
|
||||
--platform linux/amd64 \
|
||||
--load \
|
||||
-t "$IMAGE" \
|
||||
-f docker/Dockerfile \
|
||||
--build-arg CUDA_VERSION=13.0.1 \
|
||||
--build-arg BUILD_TYPE=all \
|
||||
--build-arg GRACE_BLACKWELL=0 \
|
||||
--build-arg INSTALL_FLASHINFER_JIT_CACHE=1 \
|
||||
${{ needs.prepare.outputs.extra_build_args }} \
|
||||
--no-cache \
|
||||
.
|
||||
|
||||
- name: Verify diffusion dependencies
|
||||
run: |
|
||||
docker run --rm "$IMAGE" python3 -c '
|
||||
import importlib
|
||||
modules = (
|
||||
"av",
|
||||
"cache_dit",
|
||||
"cv2",
|
||||
"diffusers",
|
||||
"imageio_ffmpeg",
|
||||
"moviepy",
|
||||
"msgpack",
|
||||
"sglang.multimodal_gen",
|
||||
"soundfile",
|
||||
"trimesh",
|
||||
)
|
||||
for module in modules:
|
||||
importlib.import_module(module)
|
||||
print("diffusion dependency smoke check passed")
|
||||
'
|
||||
|
||||
- name: Remove local test image
|
||||
if: always()
|
||||
run: docker image rm "$IMAGE" || true
|
||||
|
||||
cleanup-nightly:
|
||||
needs: build-and-publish
|
||||
if: ${{ !inputs.tag && !inputs.pr_number }}
|
||||
if: ${{ !inputs.build_only && !inputs.tag && !inputs.pr_number }}
|
||||
uses: ./.github/workflows/_docker-cleanup-nightly.yml
|
||||
with:
|
||||
tag_prefixes: '["nightly-dev", "nightly-dev-cu12", "nightly-dev-cu13"]'
|
||||
@@ -155,7 +220,7 @@ jobs:
|
||||
|
||||
build-overlay:
|
||||
needs: [prepare, build-and-publish]
|
||||
if: ${{ inputs.overlay_dockerfile != '' && github.repository == 'sgl-project/sglang' }}
|
||||
if: ${{ !inputs.build_only && inputs.overlay_dockerfile != '' && github.repository == 'sgl-project/sglang' }}
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
|
||||
Reference in New Issue
Block a user