{"record":{"id":"f850af1170b19f42","repo":"huggingface/transformers","slug":"no-benchmark-was-run-successfully","errorCode":null,"errorMessage":"No benchmark was run successfully","messagePattern":"No benchmark was run successfully","errorType":"exception","errorClass":"RuntimeError","httpStatus":null,"severity":"error","filePath":"benchmark_v2/framework/benchmark_runner.py","lineNumber":389,"sourceCode":"            # Memoize\n            all_results[config.hash] = {\n                \"metadata\": BenchmarkMetadata(\n                    model_id=model_id,\n                    branch_name=self.branch_name,\n                    commit_id=self.commit_id,\n                    commit_message=self.commit_message,\n                    success=result is not None,\n                ),\n                \"measurements\": result if result is not None else BenchmarkResult(),\n                \"config\": config,\n            }\n\n            # Cleanup model and save results\n            self.cleanup()\n            self.save_results(model_id, all_results, timestamp=timestamp, summarized=summarized)\n\n        if len(all_results) < 1:\n            raise RuntimeError(\"No benchmark was run successfully\")\n\n        if pretty_print_summary:\n            if not self._is_primary_process():\n                return (timestamp, all_results)\n            print()\n            print(\"=\" * 100)\n            print(f\"Finished benchmarks in {time.perf_counter() - start_time:.2f} seconds\")\n            print(f\"Total number of benchmarks: {len(all_results)}\")\n            print(\"First run metadata:\")\n            first_key = list(all_results.keys())[0]\n            first_metadata = all_results[first_key][\"metadata\"].to_dict()\n            hardware_info = first_metadata.pop(\"hardware_info\")\n            pretty_print_dict(first_metadata | hardware_info, tabs=1)\n            for result in all_results.values():\n                print(\"=\" * 100)\n                print(f\"Config: {result['config'].infer_name(compact=False)}\\n\")\n                result[\"measurements\"].pprint(\n                    batch_size=result[\"config\"].batch_size,","sourceCodeStart":371,"sourceCodeEnd":407,"githubUrl":"https://github.com/huggingface/transformers/blob/a597f974857b3d92939971296bc0deb93d33d780/benchmark_v2/framework/benchmark_runner.py#L371-L407","documentation":"`_assert_sm100_requirements` on a Blackwell GPU (SM100+) saw a float32 scale-factor tensor. DeepGEMM on SM100 only consumes UE8M0 scale factors; a checkpoint quantized with `quantization_config.scale_fmt='float'` carries plain float32 block scales, and rounding them to UE8M0 would silently corrupt outputs, so the guard raises `NotImplementedError` (treated by `fp8_linear` as a decline → Triton fallback).","triggerScenarios":"Running a DeepSeek-style FP8 checkpoint quantized with `scale_fmt='float'` (float32 scales, e.g. DeepSeek-V3 float-SF variants) on B200/B300 via the DeepGEMM linear; or experts path with float32 `weight_scale_inv` on SM100.","commonSituations":"FP8 checkpoints published with float scales (DSv3 style) run on new Blackwell nodes; teams migrating Hopper pipelines to SM100 assuming the same checkpoint works; mixing UE8M0 and float scale checkpoints in one fleet.","solutions":["Use a checkpoint quantized with `scale_fmt='ue8m0'` on Blackwell GPUs","Or keep the float-scale checkpoint and let FP8 linear fall back to Triton (automatic; ensure NotImplementedError is not swallowed as fatal)","For expert layers, switch to `model.set_experts_implementation('grouped_mm')` which consumes float32 block scales directly"],"exampleFix":"// before\n# DeepSeek-V3 float-SF checkpoint on B200 via DeepGEMM -> NotImplementedError\nmodel.set_experts_implementation(\"deepgemm\")\n\n// after\nmodel = AutoModelForCausalLM.from_pretrained(\"<ue8m0-quantized-model>\")\n# or\nmodel.set_experts_implementation(\"grouped_mm\")","handlingStrategy":"fallback","validationCode":"from transformers.integrations.deepgemm import is_sm100\n\nscale_fmt = getattr(model.config.quantization_config, \"scale_fmt\", \"float\")\nif is_sm100() and scale_fmt == \"float\":\n    model.set_experts_implementation(\"grouped_mm\")  # float32 SFs unsupported on SM100","typeGuard":null,"tryCatchPattern":"try:\n    out = deepgemm_fp8_fp4_linear(x, w, w_sf)\nexcept NotImplementedError:\n    out = triton_fp8_linear(x, w, w_sf)  # consumes float32 block scales directly","preventionTips":["Prefer ue8m0-scale checkpoints when targeting Blackwell","Inspect quantization_config.scale_fmt at load time and pick dispatch accordingly","Rely on the documented Triton fallback for float-SF checkpoints"],"tags":["deepgemm","fp8","scale-format","ue8m0","blackwell"],"backgroundTag":null,"analyzedSha":"a597f974857b3d92939971296bc0deb93d33d780","analyzedAt":"2026-08-14T18:24:08.354Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}