llama.cpp
Quant: OCP FP8 E4M3 support
#27512
Merged

Quant: OCP FP8 E4M3 support #27512

ORippler merged 40 commits into master from osimons/ocp_fp8
ORippler
github-actions github-actions added testing
github-actions github-actions added ggml
github-actions github-actions added conversion
0cc4m
michaelw9999
ORippler ORippler force pushed from 7ab744c7 to d21c273f 68 days ago
ORippler
ORippler ORippler force pushed from d21c273f to cef6c528 64 days ago
ORippler ORippler force pushed from cef6c528 to 060faf68 39 days ago
ORippler ORippler force pushed from 060faf68 to 340a287d 39 days ago
ORippler ORippler force pushed from 340a287d to 60dcb35a 38 days ago
ORippler ORippler force pushed from 60dcb35a to 91fe47f3 38 days ago
ORippler ORippler force pushed from 91fe47f3 37 days ago
github-actions github-actions added model
ORippler ORippler force pushed to b44ab5c3 37 days ago
ORippler ORippler force pushed to 574eb984 37 days ago
ORippler
ORippler commented on 2026-10-07
ORippler ORippler force pushed from 574eb984 to 8efdff03 29 days ago
ORippler ORippler marked this pull request as ready for review 29 days ago
ORippler ORippler requested a review from ggerganov ggerganov 29 days ago
ORippler ORippler requested a review from CISC CISC 29 days ago
ORippler ORippler force pushed from 8efdff03 to 41dbb3b5 25 days ago
ORippler ORippler force pushed from 41dbb3b5 to 62a98751 24 days ago
ORippler ORippler requested a review 24 days ago
github-actions github-actions added Apple Metal
am17an
am17an dismissed these changes on 2026-10-13
am17an am17an dismissed their stale review 24 days ago
approved by mistake
ORippler ORippler force pushed from 62a98751 24 days ago
ORippler ORippler requested a review from am17an am17an 24 days ago
ORippler
ORippler ORippler force pushed to 6bda1465 23 days ago
ORippler ORippler force pushed from 6bda1465 to 046a683f 23 days ago
am17an
am17an approved these changes on 2026-10-15
ORippler ORippler force pushed from 046a683f to 5d59657b 22 days ago
ORippler ORippler requested a review 22 days ago
github-actions github-actions added devops
ORippler ORippler force pushed from 5d59657b 22 days ago
ORippler ORippler force pushed to 5dee337b 22 days ago
ORippler ORippler force pushed from 5dee337b to 93f2cbde 17 days ago
ORippler
pwilkin
ORippler ORippler force pushed from 93f2cbde to b84f0eb7 17 days ago
ORippler ORippler force pushed from 41ee520c to 597effad 17 days ago
ORippler ORippler force pushed from 5012aefa to 105721bc 16 days ago
ORippler ORippler force pushed from 105721bc to b737e966 16 days ago
ORippler ORippler force pushed from b737e966 to 87c28f0c 16 days ago
pwilkin
pwilkin approved these changes on 2026-10-23
CISC
ORippler ORippler force pushed from 905d5631 to aa29e168 15 days ago
ORippler ORippler requested a review from pwilkin pwilkin 15 days ago
CISC
CISC commented on 2026-10-23
ORippler ORippler force pushed from ee4c0219 to 8b040af3 15 days ago
pwilkin
pwilkin approved these changes on 2026-10-23
CISC
ORippler
ORippler ORippler force pushed from 8b040af3 to 3ee00084 11 days ago
ORippler ORippler requested a review from CISC CISC 11 days ago
ORippler ORippler force pushed from 3ee00084 to fe32e5a2 11 days ago
ORippler ORippler force pushed from fe32e5a2 to 7cf892cb 11 days ago
CISC
CISC approved these changes on 2026-10-27
ggerganov
ggerganov commented on 2026-10-28
ggerganov
0cc4m
0cc4m
0cc4m approved these changes on 2026-10-29
CISC
ORippler ORippler requested a review 9 days ago
ORippler ORippler requested a review 9 days ago
ORippler WIP OCP FP8 E4M3 support
a61fb04e
ORippler Fix python type-checker
f225f62d
ORippler Materialize input_scales also for FP8 when converting
d5c93499
ORippler Fix conversion of https://huggingface.co/RedHatAI/Qwen3.8-27B-NVFP4
a551e83a
ORippler Allow remaining FP8 tensors to be dequantized during conversion
01f27ffd
ORippler Allow tensor-strategy for FP8-only compressed-tensor ckpts
84b69cc6
ORippler Fix and test gguf-py behavior for FP8_E4M3
5566de00
ORippler Disallow QKV-fusion for FP8 temporarily
39bbcfa9
ORippler Fix conversion of fused qkvz & FP8 for Qwen3-Next
5a5d5cd0
ORippler Avoid fusing FP8 for --fuse-gate-up-exps as we may have different ws
a22a2358
ORippler Emit warnings when not fusing FP8 during conversion
e798cfe5
ORippler More FP8 conversion fixes
f0c24471
ORippler Add supported for strided copies to/from FP8 in CPU
e16593d4
ORippler remove unneeded scratch buffer from FP8 cpu cpy/dup path
f0046231
ORippler add explanatory comments and TODOs
291f0ac4
ORippler Add dedicated encoder and decoder tests for FP8
949e2fbd
ORippler Whitelist ggml_op_get_rows in metal instead of blacklisting
c6e02857
ORippler Fix more conversion bugs
6ba67406
ORippler Defer weight materialization during conversion
43a09ddc
ORippler Blacklist fp8 in metal backend instead of white-list
2dfa62ec
ORippler Adjust indents
d124cf97
ORippler Fix lint + execute tests
a532b97e
ORippler Add fast CPU kernel for F8_E4M3
2eb5e76b
ORippler Conversion fixes
6095b9a7
ORippler Fix remaining gaps
cc572673
ORippler Enable tied weights with shared scales
3b8c645a
ORippler Make mandatory-F32 rules apply to FP8 during conversion
dd35612e
ORippler Fix python type checks
69c13d6a
ORippler Fix kaleidai unit-test failures
32dff68e
ORippler Relax numeric precision constraints for pre-check
52708293
ORippler Leave fast-FP8 CPU on RISC-V for follow-up
f0c6caa9
ORippler Allow output scale tensors to be located in any gguf shard
e2ec2a70
ORippler Move test_conversion_fp8.py test execution to behavior-check.yaml
1ec1aecf
ORippler WIP OCP FP8 E4M3 support
a61fb04e
ORippler Fix python type-checker
f225f62d
ORippler Materialize input_scales also for FP8 when converting
d5c93499
ORippler Fix conversion of https://huggingface.co/RedHatAI/Qwen3.8-27B-NVFP4
a551e83a
ORippler Allow tensor-strategy for FP8-only compressed-tensor ckpts
84b69cc6
ORippler Fix and test gguf-py behavior for FP8_E4M3
5566de00
ORippler Disallow QKV-fusion for FP8 temporarily
39bbcfa9
ORippler Fix conversion of fused qkvz & FP8 for Qwen3-Next
5a5d5cd0
ORippler Avoid fusing FP8 for --fuse-gate-up-exps as we may have different ws
a22a2358
ORippler Emit warnings when not fusing FP8 during conversion
e798cfe5
ORippler More FP8 conversion fixes
f0c24471
ORippler Add supported for strided copies to/from FP8 in CPU
e16593d4
ORippler remove unneeded scratch buffer from FP8 cpu cpy/dup path
f0046231
ORippler add explanatory comments and TODOs
291f0ac4
ORippler Add dedicated encoder and decoder tests for FP8
949e2fbd
ORippler Whitelist ggml_op_get_rows in metal instead of blacklisting
c6e02857
ORippler Fix more conversion bugs
6ba67406
ORippler Defer weight materialization during conversion
43a09ddc
ORippler Blacklist fp8 in metal backend instead of white-list
2dfa62ec
ORippler Adjust indents
d124cf97
ORippler Fix lint + execute tests
a532b97e
ORippler Add fast CPU kernel for F8_E4M3
2eb5e76b
ORippler Conversion fixes
6095b9a7
ORippler Fix remaining gaps
cc572673
ORippler Enable tied weights with shared scales
3b8c645a
ORippler Make mandatory-F32 rules apply to FP8 during conversion
dd35612e
ORippler Fix python type checks
69c13d6a
ORippler Fix kaleidai unit-test failures
32dff68e
ORippler Relax numeric precision constraints for pre-check
52708293
ORippler Leave fast-FP8 CPU on RISC-V for follow-up
f0c6caa9
ORippler Allow output scale tensors to be located in any gguf shard
e2ec2a70
ORippler Move mixed compressed-tensor logic into dequant_fp8 + add unit-tests …
52f0c048
ORippler Install all requirements also on Windows for behavior-check
31049c8c
ORippler LF line endings
2505793e
ORippler Extract FP8 tests from llama-arch to its own test-fixture
9acf4473
ORippler Update gguf-py/gguf/scripts/gguf_convert_endian.py
6f53ba82
ORippler ORippler force pushed from 518b302a to 6f53ba82 9 days ago
danbev
danbev commented on 2026-10-29
ORippler ORippler requested a review from ggerganov ggerganov 9 days ago
ggerganov
ggerganov approved these changes on 2026-10-29
danbev
danbev approved these changes on 2026-10-29
ORippler ORippler merged 68d20b88 into master 9 days ago
ggerganov ggerganov added highlight

Login to write a write a comment.

Login via GitHub

Assignees
No one assigned
Labels
Milestone