diff --git a/.buildkite/test-amd.yaml b/.buildkite/test-amd.yaml index f6354758b..9b84ffec4 100644 --- a/.buildkite/test-amd.yaml +++ b/.buildkite/test-amd.yaml @@ -1,7 +1,7 @@ steps: - label: "Diffusion Model Test" - timeout_in_minutes: 20 + timeout_in_minutes: 30 agent_pool: mi325_2 depends_on: amd-build mirror_hardwares: [amdproduction] @@ -11,7 +11,7 @@ steps: - pytest -s -v tests/e2e/offline_inference/test_t2i_model.py - label: "Diffusion Images API LoRA E2E" - timeout_in_minutes: 20 + timeout_in_minutes: 30 agent_pool: mi325_1 depends_on: amd-build mirror_hardwares: [amdproduction] diff --git a/.buildkite/test-merge.yml b/.buildkite/test-merge.yml index 5479f8ac1..600a5d4db 100644 --- a/.buildkite/test-merge.yml +++ b/.buildkite/test-merge.yml @@ -16,7 +16,7 @@ steps: - "/fsx/hf_cache:/fsx/hf_cache" - label: "Diffusion Model Test" - timeout_in_minutes: 20 + timeout_in_minutes: 30 depends_on: upload-merge-pipeline commands: - pytest -s -v tests/e2e/offline_inference/test_t2i_model.py -m "advanced_model and diffusion" --run-level "advanced_model" @@ -33,7 +33,7 @@ steps: - "/fsx/hf_cache:/fsx/hf_cache" - label: "Diffusion Images API LoRA E2E" - timeout_in_minutes: 20 + timeout_in_minutes: 30 depends_on: upload-merge-pipeline commands: - pytest -s -v tests/e2e/online_serving/test_images_generations_lora.py diff --git a/.buildkite/test-ready.yml b/.buildkite/test-ready.yml index c8579979c..854c2eead 100644 --- a/.buildkite/test-ready.yml +++ b/.buildkite/test-ready.yml @@ -18,7 +18,7 @@ steps: - label: "Diffusion Model Test" depends_on: upload-ready-pipeline commands: - - timeout 20m pytest -s -v tests/e2e/offline_inference/test_t2i_model.py -m "core_model and diffusion" --run-level "core_model" + - timeout 30m pytest -s -v tests/e2e/offline_inference/test_t2i_model.py -m "core_model and diffusion" --run-level "core_model" agents: queue: "gpu_1_queue" plugins: diff --git a/tests/e2e/offline_inference/test_diffusion_lora.py b/tests/e2e/offline_inference/test_diffusion_lora.py index a95ab43da..64852b12d 100644 --- a/tests/e2e/offline_inference/test_diffusion_lora.py +++ b/tests/e2e/offline_inference/test_diffusion_lora.py @@ -24,6 +24,7 @@ os.environ["VLLM_TEST_CLEAN_GPU_MEMORY"] = "1" # This test is specific to Z-Image LoRA behavior. Keep it focused on a single # model to reduce runtime and avoid extra downloads. models = ["Tongyi-MAI/Z-Image-Turbo"] +DIFFUSION_INIT_TIMEOUT_S = 600 @pytest.mark.parametrize("model_name", models) @@ -76,7 +77,11 @@ def test_diffusion_model(model_name: str, tmp_path: Path): ) return str(adapter_dir) - m = Omni(model=model_name) + m = Omni( + model=model_name, + stage_init_timeout=DIFFUSION_INIT_TIMEOUT_S, + init_timeout=DIFFUSION_INIT_TIMEOUT_S, + ) try: # high resolution may cause OOM on L4 height = 256 diff --git a/tests/e2e/online_serving/test_images_generations_lora.py b/tests/e2e/online_serving/test_images_generations_lora.py index a1f1d1450..e2079c909 100644 --- a/tests/e2e/online_serving/test_images_generations_lora.py +++ b/tests/e2e/online_serving/test_images_generations_lora.py @@ -28,6 +28,7 @@ from tests.utils import hardware_test os.environ["VLLM_WORKER_MULTIPROC_METHOD"] = "spawn" MODEL = "Tongyi-MAI/Z-Image-Turbo" +DIFFUSION_INIT_TIMEOUT_S = 600 PROMPT = "a photo of a cat sitting on a laptop keyboard" @@ -37,7 +38,17 @@ SEED = 42 @pytest.fixture(scope="module") def omni_server(): - with OmniServer(MODEL, ["--num-gpus", "1"]) as server: + with OmniServer( + MODEL, + [ + "--num-gpus", + "1", + "--stage-init-timeout", + str(DIFFUSION_INIT_TIMEOUT_S), + "--init-timeout", + str(DIFFUSION_INIT_TIMEOUT_S), + ], + ) as server: yield server diff --git a/vllm_omni/model_executor/models/qwen3_omni/qwen3_omni_moe_thinker.py b/vllm_omni/model_executor/models/qwen3_omni/qwen3_omni_moe_thinker.py index 84d8cbace..9c116b162 100644 --- a/vllm_omni/model_executor/models/qwen3_omni/qwen3_omni_moe_thinker.py +++ b/vllm_omni/model_executor/models/qwen3_omni/qwen3_omni_moe_thinker.py @@ -161,6 +161,7 @@ class Qwen3Omni_VisionTransformer(_Qwen3Omni_VisionTransformer): cu_seqlens, self.hidden_size, self.tp_size, + self.device, ) cu_seqlens = torch.from_numpy(cu_seqlens).to(self.device, non_blocking=True)