profiles:
  - name: Throughput
    description: >
      Max throughput with realistic prompt length.
      The most commonly used baseline for GPU and model comparison.
    dataset_name: Random
    dataset_input_tokens: 1024 # Default value for Random dataset in vLLM https://github.com/vllm-project/vllm/blob/17b17c068453e6dc6af79240bb94857ae175cc51/vllm/benchmarks/datasets.py#L457
    dataset_output_tokens: 128
    dataset_seed: 42
    request_rate: -1 # unlimited
    total_requests: 1000

  # Default value for Latency in vLLM is 32/128 https://github.com/vllm-project/vllm/blob/17b17c068453e6dc6af79240bb94857ae175cc51/vllm/benchmarks/latency.py#L34
  # NVIDIA blog workload shapes for chat is 128/128 https://developer.nvidia.com/blog/advancing-the-accuracy-efficiency-frontier-with-llama-3-1-nemotron-51b/
  # In production chat workloads, the input is rarely below 100 tokens once a system prompt such as "You are an AI assistant..." is included, 
  # so 128/128 is a more realistic chat shape than the vLLM default 32/128
  - name: Latency
    description: >
      Single-request latency benchmark focusing on TTFT and tail latency.
      Suitable for API serving and chat scenarios.
    dataset_name: Random
    dataset_input_tokens: 128
    dataset_output_tokens: 128
    dataset_seed: 42
    request_rate: 1
    total_requests: 100

  - name: Long Context
    description: >
      Stress test for long-context handling.
      Evaluates KV cache behavior, memory usage, and backend stability.
    dataset_name: Random
    dataset_input_tokens: 32000
    dataset_output_tokens: 100
    dataset_seed: 42
    request_rate: 1
    total_requests: 100

  - name: Generation Heavy
    description: >
      Decode-heavy generation benchmark.
      Measures sustained decoding speed and output token throughput.
    dataset_name: Random
    dataset_input_tokens: 1000
    dataset_output_tokens: 2000
    dataset_seed: 42
    request_rate: 1
    total_requests: 200

  - name: ShareGPT
    description: >
      Measures maximum throughput using real conversational data.
      Suitable for GPU and model performance benchmarking.
    dataset_name: ShareGPT
    request_rate: 1000
    total_requests: 1000
