version: 0.0.1
trt_llm_release_perf_sanity_test:
- condition:
    ranges:
      system_gpu_count:
        gte: 1
    wildcards:
      gpu:
      - '*h100*'
      - '*h200*'
      - '*a100*'
      - '*l40s*'
      - '*l20*'
      - '*h20*'
  tests:
  # E2E trtllm-bench
  - perf/test_perf.py::test_perf[gpt_350m_moe-bench-float16-maxbs:64-input_output_len:128,128]

  # E2E BERT
  - perf/test_perf.py::test_perf[bert_large-bench-float16-maxbs:32-input_len:128+512]
  - perf/test_perf.py::test_perf[roberta_base-bench-float16-maxbs:32-input_len:128+512]

  # Common models for all GPUs
  - perf/test_perf.py::test_perf[starcoder2_3b-bench-float16-maxbs:1-input_output_len:512,200-reqs:10]
  - perf/test_perf.py::test_perf[mamba_130m-bench-float16-input_output_len:128,128]
  - perf/test_perf.py::test_perf[mamba_2.8b-bench-float16-input_output_len:128,128]

  # E2E ENC-DEC
  - perf/test_perf.py::test_perf[mbart_large_50_many_to_one_mmt-cppmanager-exe-plugin_ifb-float16-input_output_len:128,20]
  - perf/test_perf.py::test_perf[bart_large_cnn-bench-float16-input_output_len:128,20]
  - perf/test_perf.py::test_perf[t5-bench-float16-input_output_len:128,20]
  - perf/test_perf.py::test_perf[flan_t5_base-bench-float16-input_output_len:128,20]
  - perf/test_perf.py::test_perf[flan_t5_large-bench-float16-input_output_len:128,20]
  - perf/test_perf.py::test_perf[whisper_large_v3-bench-float16-input_output_len:128,20]
  - perf/test_perf.py::test_perf[llama_v3.1_8b_instruct-bench-bfloat16-input_output_len:128,128]
  - perf/test_perf.py::test_perf[llama_v3.1_8b_instruct-bench-bfloat16-input_output_len:512,32]
  - perf/test_perf.py::test_perf[llama_v3.1_8b-bench-pytorch-bfloat16-input_output_len:128,128]

  # Test list validation
  - test_list_validation.py::test_list_validation

# Tests for GPUs with memory > 25000MB
- condition:
    ranges:
      system_gpu_count:
        gte: 1
      gpu_memory:
        gt: 25000
    wildcards:
      gpu:
      - '*h100*'
      - '*h200*'
      - '*a100*'
      - '*l40s*'
      - '*l20*'
      - '*h20*'
  tests:
  # E2E gptManagerBenchmark IFB
  - perf/test_perf.py::test_perf[llama_v3.1_8b_instruct-cppmanager-exe-static_batching-plugin_ifb-float16-bs:8+64-input_output_len:128,128+512,32]
  - perf/test_perf.py::test_perf[llama_v3.1_8b_instruct-cppmanager-exe-plugin_ifb-bfloat16-gwp:0.0-input_output_len:128,128+512,32]
  - perf/test_perf.py::test_perf[llama_v3.1_8b_instruct-bench-bfloat16-input_output_len:512,32]
  - perf/test_perf.py::test_perf[llama_v3.1_8b-bench-pytorch-bfloat16-input_output_len:128,128]
  - perf/test_perf.py::test_perf[llama_v3.1_8b-bench-pytorch-bfloat16-input_output_len:512,32]
  - perf/test_perf.py::test_perf[llama_v3.1_8b-bench-pytorch-streaming-bfloat16-input_output_len:128,128]
  - perf/test_perf.py::test_perf[llama_v3.1_8b-bench-pytorch-streaming-bfloat16-input_output_len:512,32]
  - perf/test_perf.py::test_perf[qwen2_7b_instruct-bench-float16-input_output_len:128,128]

# FP8 specific tests
- condition:
    terms:
      supports_fp8: true
    wildcards:
      gpu:
      - '*h100*'
      - '*h200*'
      - '*l40s*'
      - '*l20*'
      - '*h20*'
  tests:
  - perf/test_perf.py::test_perf[llama_v3.1_8b_instruct-bench-bfloat16-input_output_len:128,128-quant:fp8]
  - perf/test_perf.py::test_perf[llama_v3.1_8b_instruct-bench-bfloat16-input_output_len:512,32-quant:fp8]
  - perf/test_perf.py::test_perf[llama_v3.1_8b_instruct_fp8-bench-pytorch-float8-input_output_len:128,128]
  - perf/test_perf.py::test_perf[llama_v3.1_8b_instruct_fp8-bench-pytorch-float8-input_output_len:512,32]

# Tests for systems with 2+ GPUs
- condition:
    ranges:
      system_gpu_count:
        gte: 2
    wildcards:
      gpu:
      - '*h100*'
      - '*h200*'
      - '*a100*'
      - '*l40s*'
      - '*l20*'
      - '*h20*'
  tests:
  - perf/test_perf.py::test_perf[t5-bench-float16-maxbs:1-input_output_len:128,20-gpus:2]
  - perf/test_perf.py::test_perf[flan_t5_large-bench-float16-maxbs:1-input_output_len:128,20-gpus:2]
  - perf/test_perf.py::test_perf[llama_v3.1_8b_instruct-bench-bfloat16-input_output_len:128,128-quant:int8-gpus:2]
  - perf/test_perf.py::test_perf[llama_v3.1_8b-bench-bfloat16-maxbs:256-input_output_len:128,128-gpus:2]
  - perf/test_perf.py::test_perf[llama_v3.1_8b_instruct-bench-streaming-bfloat16-input_output_len:128,128-gpus:2]
  - perf/test_perf.py::test_perf[llama_v3.2_1b-bench-bfloat16-maxbs:1-input_output_len:128,128-reqs:10-gpus:2]
  - perf/test_perf.py::test_perf[llama_v3.2_1b-bench-pytorch-bfloat16-input_output_len:128,128-gpus:2]

# FP8 tests for systems with 2+ GPUs
- condition:
    terms:
      supports_fp8: true
    ranges:
      system_gpu_count:
        gte: 2
    wildcards:
      gpu:
      - '*h100*'
      - '*h200*'
      - '*l40s*'
      - '*l20*'
      - '*h20*'
  tests:
  - perf/test_perf.py::test_perf[llama_v3.1_8b-cppmanager-exe-plugin_ifb-float16-mp-input_output_len:128,128-quant:fp8-gpus:2]
  - perf/test_perf.py::test_perf[llama_v3.1_8b-bench-bfloat16-input_output_len:128,128-quant:fp8-gpus:2]
  - perf/test_perf.py::test_perf[llama_v3.2_1b-bench-bfloat16-input_output_len:128,128-quant:fp8-gpus:2]
  - perf/test_perf.py::test_perf[mixtral_8x7b_v0.1-bench-float16-input_output_len:128,128-quant:fp8-gpus:2]
  - perf/test_perf.py::test_perf[mixtral_8x7b_v0.1-bench-pytorch-float16-input_output_len:128,128-quant:fp8-gpus:2]

# Tests for systems with 2+ GPUs and high memory
- condition:
    ranges:
      system_gpu_count:
        gte: 2
      gpu_memory:
        gt: 80000
    wildcards:
      gpu:
      - '*h100*'
      - '*h200*'
      - '*a100*'
      - '*l40s*'
      - '*h20*'
  tests:
  - perf/test_perf.py::test_perf[llama_v3.1_70b-bench-bfloat16-maxbs:1-input_output_len:128,128-reqs:10-gpus:2]
  - perf/test_perf.py::test_perf[mixtral_8x7b_v0.1-bench-float16-input_output_len:128,128-gpus:2]

# Tests for systems with 4+ GPUs
- condition:
    ranges:
      system_gpu_count:
        gte: 4
    wildcards:
      gpu:
      - '*h100*'
      - '*h200*'
      - '*a100*'
      - '*l40s*'
      - '*h20*'
  tests:
  - perf/test_perf.py::test_perf[llama_v3.1_70b-bench-bfloat16-maxbs:1-input_output_len:128,128-reqs:10-gpus:4]
  - perf/test_perf.py::test_perf[llama_v3.1_70b-bench-pytorch-bfloat16-maxbs:1-input_output_len:128,128-reqs:10-gpus:4]
  - perf/test_perf.py::test_perf[qwen_14b_chat-cppmanager-ootb_except_mha-float16-input_output_len:128,128-gpus:4]
  - perf/test_perf.py::test_perf[starcoder_15.5b-cppmanager-exe-plugin_ifb-float16-maxbs:1-input_output_len:512,200-reqs:10-gpus:4]

# Tests for systems with 8+ GPUs
- condition:
    ranges:
      system_gpu_count:
        gte: 8
      gpu_memory:
        gt: 46000
    wildcards:
      gpu:
      - '*h100*'
      - '*h200*'
      - '*a100*'
      - '*l40s*'
      - '*h20*'
  tests:
  - perf/test_perf.py::test_perf[llama_v3.1_70b-bench-bfloat16-maxbs:1-input_output_len:2000,200-reqs:10-gpus:8]
  - perf/test_perf.py::test_perf[llama_v3.1_70b-bench-pytorch-bfloat16-maxbs:1-input_output_len:2000,200-reqs:10-gpus:8]
  - perf/test_perf.py::test_perf[llama_v3.1_70b-bench-bfloat16-maxbs:1-input_output_len:200,2000-reqs:10-gpus:8]
  - perf/test_perf.py::test_perf[llama_v3.1_70b-bench-pytorch-bfloat16-maxbs:1-input_output_len:200,2000-reqs:10-gpus:8]
  - perf/test_perf.py::test_perf[gpt_20b-bench-float16-maxbs:1-input_output_len:128,128-reqs:10-gpus:8]
  - perf/test_perf.py::test_perf[llama_v3.1_70b-bench-pytorch-bfloat16-maxbs:1-input_output_len:2000,200-reqs:10-gpus:8]


# FP8 tests for systems with 8+ GPUs
- condition:
    terms:
      supports_fp8: true
    ranges:
      system_gpu_count:
        gte: 8
    wildcards:
      gpu:
      - '*h100*'
      - '*h200*'
      - '*l40s*'
      - '*h20*'

  tests:
  - perf/test_perf.py::test_perf[llama_v3.1_70b-bench-bfloat16-maxbs:1-input_output_len:128,128-quant:fp8-gpus:8]
  - perf/test_perf.py::test_perf[llama_v3.1_70b-bench-bfloat16-maxbs:1-input_output_len:512,32-quant:fp8-gpus:8]
  - perf/test_perf.py::test_perf[llama_v3.3_70b_instruct_fp8-bench-pytorch-float8-input_output_len:128,128-gpus:8]

- condition:
    terms:
      supports_fp8: true
    ranges:
      system_gpu_count:
        gte: 8
    wildcards:
      gpu:
      - '*h100*'
      - '*h200*'
      - '*h20*'

  tests:
  - perf/test_perf.py::test_perf[deepseek_v3_lite_fp8-bench-pytorch-float8-input_output_len:128,128]
  - perf/test_perf.py::test_perf[deepseek_v3_lite_fp8-bench-streaming-pytorch-float8-input_output_len:128,128]
