group: Samplers
depends_on: 
  - image-build
steps:
- label: ":nvidia: (H200 MIG 18GB) Samplers"
  device: h200_18gb
  key: samplers-test
  timeout_in_minutes: 60
  source_file_dependencies:
  - vllm/model_executor/layers
  - vllm/sampling_metadata.py
  - tests/samplers
  - tests/conftest.py
  - vllm/entrypoints/generate/beam_search
  commands:
    # VLLM_USE_FLASHINFER_SAMPLER defaults to 1 now, so we need to pin both
    # values explicitly to still cover the PyTorch-native (Triton) path.
    - VLLM_USE_FLASHINFER_SAMPLER=0 pytest -v -s samplers -k "not test_beam_search_passes_multimodal_data"
    - VLLM_USE_FLASHINFER_SAMPLER=1 pytest -v -s samplers -k "not test_beam_search_passes_multimodal_data"
  mirror:
    amd:
      label: ":amd: (MI250) Samplers"
      dind: false
      device: mi250_1
      timeout_in_minutes: 40
      depends_on:
      - image-build-amd
      source_file_dependencies:
      - vllm/model_executor/layers
      - vllm/sampling_metadata.py
      - vllm/v1/sample/
      - vllm/entrypoints/generate/beam_search/
      - tests/samplers
      - tests/conftest.py
      - vllm/_aiter_ops.py
      - vllm/platforms/rocm.py
      commands:
      - pytest -v -s samplers -k "not test_beam_search_passes_multimodal_data"

# Qwen2-Audio-7B leaves no room for KV cache on a 16 GiB slice.
- label: ":nvidia: (H200 MIG 35GB) Samplers Multimodal Beam Search"
  device: h200_35gb
  key: samplers-multimodal-beam-search
  timeout_in_minutes: 30
  source_file_dependencies:
  - vllm/model_executor/layers
  - vllm/sampling_metadata.py
  - tests/samplers
  - tests/conftest.py
  - vllm/entrypoints/generate/beam_search
  commands:
    - VLLM_USE_FLASHINFER_SAMPLER=0 pytest -v -s samplers/test_beam_search.py::test_beam_search_passes_multimodal_data
    - VLLM_USE_FLASHINFER_SAMPLER=1 pytest -v -s samplers/test_beam_search.py::test_beam_search_passes_multimodal_data
  mirror:
    amd:
      label: ":amd: (MI355 DPX) Samplers Multimodal Beam Search"
      dind: false
      device: mi355_dpx
      num_devices: 1
      timeout_in_minutes: 45
      working_dir: /vllm-workspace/tests
      depends_on:
      - image-build-amd
      source_file_dependencies:
      - vllm/model_executor/layers
      - vllm/sampling_metadata.py
      - vllm/v1/sample/
      - vllm/entrypoints/generate/beam_search/
      - tests/samplers
      - tests/conftest.py
      - vllm/_aiter_ops.py
      - vllm/platforms/rocm.py
      commands:
      - pytest -v -s samplers/test_beam_search.py::test_beam_search_passes_multimodal_data
