# HunyuanImage-3.0-Instruct DiT-only deploy.
#
# Use this for standalone DiT/offline execution. This file resolves to one
# diffusion stage with stage_id 0 and does not depend on the AR stage.
pipeline: hunyuan_image3_dit
async_chunk: false

stages:
  - stage_id: 0
    max_num_seqs: 1
    gpu_memory_utilization: 0.9
    enforce_eager: true
    devices: "0,1,2,3"
    vae_use_slicing: false
    vae_use_tiling: false
    cache_backend:
    cache_config:
    enable_cache_dit_summary: false
    parallel_config:
      pipeline_parallel_size: 1
      data_parallel_size: 1
      tensor_parallel_size: 4
      enable_expert_parallel: true
      sequence_parallel_size: 1
      ulysses_degree: 1
      ring_degree: 1
      cfg_parallel_size: 1
      vae_patch_parallel_size: 1
      use_hsdp: false
      hsdp_shard_size: -1
      hsdp_replicate_size: 1
    default_sampling_params:
      seed: 42

platforms:
  npu:
    stages:
      - stage_id: 0
        gpu_memory_utilization: 0.65
        devices: "0,1,2,3"
        max_num_batched_tokens: 32768
        parallel_config:
          tensor_parallel_size: 4
          enable_expert_parallel: true

  xpu:
    stages:
      - stage_id: 0
        gpu_memory_utilization: 0.9
        devices: "0,1,2,3,4,5,6,7"
        quantization: fp8
        parallel_config:
          pipeline_parallel_size: 1
          data_parallel_size: 1
          tensor_parallel_size: 8
          enable_expert_parallel: true
          sequence_parallel_size: 1
          ulysses_degree: 1
          ring_degree: 1
          cfg_parallel_size: 1
          vae_patch_parallel_size: 1
          use_hsdp: false
          hsdp_shard_size: -1
          hsdp_replicate_size: 1
