Skip to content

[Bug] Workload blob path format inconsistent #201

Description

@wenyi-li

Summary

The workload JSONL files reference blob safetensors using a flat path format, while add_workload_blob_tensor in flashinfer-bench writes blobs using a subdirectory format. This mismatch causes FileNotFoundError when running benchmarks.

Path Format Comparison

1. Workload JSONL (current format - flat):

./blob/workloads/{op_type}/{def_name}_{workload_uuid}.safetensors

Example: ./blob/workloads/gdn/gdn_prefill_qk4_v8_d128_k_last_de7af853-9c30-4e68-a0b7-6c6cd001b0ca.safetensors

2. add_workload_blob_tensor (subdirectory format):

# flashinfer_bench/data/trace_set.py:424-430
file_path = (
    self.blob_workloads_path
    / op_type
    / def_name
    / f"{def_name}_{workload_uuid}.safetensors"
)

This produces:

blob/workloads/{op_type}/{def_name}/{def_name}_{workload_uuid}.safetensors

Example: blob/workloads/gdn/gdn_prefill_qk4_v8_d128_k_last/gdn_prefill_qk4_v8_d128_k_last_de7af853....safetensors

Impact

  • Benchmarks fail when loading workloads that reference safetensors inputs
  • Error: No such file or directory: .../blob/workloads/gdn/gdn_prefill_qk4_v8_d128_k_last_de7af853....safetensors
  • Workers crash during baseline (run_ref) → No healthy workers available

Affected Workloads

  • GDN workloads (gdn_prefill_qk4_v8_d128_k_last, gdn_decode_*, etc.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions