llama.cpp
CUDA: Add OCP FP8 support
#28413
Open

CUDA: Add OCP FP8 support #28413

ORippler wants to merge 28 commits into osimons/ocp_fp8_kv from osimons/ocp_fp8_cuda
ORippler
ORippler ORippler changed the title Initial CUDA WIP version CUDA: Add OCP FP8 support 42 days ago
github-actions github-actions added ggml
github-actions github-actions added CUDA
0cc4m
0cc4m commented on 2026-09-18
ORippler ORippler force-pushed the osimons/ocp_fp8_kv branch from b6ccff9b to e8b60dda 17 days ago
ORippler ORippler force pushed from 4bcf38c6 to d4b30c45 17 days ago
ORippler ORippler force pushed from d4b30c45 to 902cdea8 16 days ago
ORippler ORippler force-pushed the osimons/ocp_fp8_kv branch from 55a7e532 to b99e4ce0 16 days ago
ORippler ORippler force pushed from 902cdea8 to ac9720e7 16 days ago
ORippler ORippler force-pushed the osimons/ocp_fp8_kv branch from b99e4ce0 to f711e8c8 16 days ago
ORippler ORippler force pushed from ac9720e7 to 2de9bb7a 16 days ago
ORippler ORippler force pushed from 2de9bb7a to e50eed67 16 days ago
ORippler ORippler force-pushed the osimons/ocp_fp8_kv branch from f711e8c8 to d6c8682f 16 days ago
ORippler ORippler force pushed from e50eed67 to 0bc3b72a 15 days ago
ORippler ORippler force-pushed the osimons/ocp_fp8_kv branch from d6c8682f to 51f6a0f2 15 days ago
ORippler ORippler force-pushed the osimons/ocp_fp8_kv branch from 51f6a0f2 to b5f3dfd6 15 days ago
ORippler ORippler force pushed from 0bc3b72a to 93f06440 15 days ago
ORippler ORippler force pushed from 93f06440 to b7d3ef0d 15 days ago
ORippler ORippler force pushed from f8acf520 to 98d0007c 15 days ago
ORippler ORippler force-pushed the osimons/ocp_fp8_kv branch from c8023359 to 4602e642 15 days ago
github-actions github-actions added testing
ORippler ORippler force pushed from 021df05a to b757f0d5 7 days ago
ORippler ORippler force-pushed the osimons/ocp_fp8_kv branch from 4602e642 to 10e80e62 7 days ago
ORippler ORippler force pushed from b757f0d5 to 31d720b8 3 days ago
ORippler ORippler force pushed from 31d720b8 to 03a892e2 3 days ago
ORippler ORippler force pushed from 03a892e2 to e4595bb0 3 days ago
ORippler ORippler force-pushed the osimons/ocp_fp8_kv branch from 153b077f to f800827a 3 days ago
ORippler ORippler force pushed from e4595bb0 to 28413b0b 3 days ago
ORippler ORippler force-pushed the osimons/ocp_fp8_kv branch from f800827a to 47e07502 2 days ago
ORippler ORippler force pushed from 28413b0b to 46836d43 2 days ago
ORippler ORippler force pushed from 46836d43 to eea05fe1 1 day ago
ORippler ORippler force-pushed the osimons/ocp_fp8_kv branch from 47e07502 to 57af5f4b 1 day ago
ORippler ORippler force-pushed the osimons/ocp_fp8_kv branch from 57af5f4b to bc7cfbcb 1 day ago
ORippler ORippler force pushed from eea05fe1 to 2d1b1324 1 day ago
ORippler ORippler force-pushed the osimons/ocp_fp8_kv branch from bc7cfbcb to 8c61650a 1 day ago
ORippler ORippler force pushed from 2d1b1324 to 1974d2a1 1 day ago
ORippler ORippler force pushed from 1974d2a1 to 414c1a4a 1 day ago
ORippler ORippler force-pushed the osimons/ocp_fp8_kv branch from 426c72dd to 49a6dfb6 1 day ago
ORippler ORippler force pushed from 414c1a4a to fd3d4118 1 day ago
ORippler ORippler force-pushed the osimons/ocp_fp8_kv branch from 49a6dfb6 to a0b08c47 12 hours ago
ORippler ORippler force pushed from fd3d4118 to f096911d 12 hours ago
ORippler ORippler force-pushed the osimons/ocp_fp8_kv branch from a0b08c47 to 8e5f653e 8 hours ago
ORippler ORippler force pushed from f096911d to 83eb3105 8 hours ago
ORippler Initial CUDA WIP version
9fb51175
ORippler Use fp8 intrinsics
ce8176f5
ORippler Do W8A16 for FP8 in GEMV case
9519047d
ORippler Optimize GEMV kernel for FP8
ce0cbd9f
ORippler Guard __nv_cvt_fp8x2_to_bf162raw on CTK 13.2
130111ee
ORippler Remove trailing whitespace
f0042e8b
ORippler Add supported for strided copies to/from FP8 in CUDA
ac3fa177
ORippler Prepare Q_reg for FP8 FlashAttention in fattn-vec.cuh
11697527
ORippler Fix odd-rows for convert/getrows, possible with FP8
69cb9753
ORippler Fix FP8 fallback in cuBlas
348de606
ORippler Gate mmvf_f8x2_e4m3_to_bf162 on FP8 availability, i.e. CTK >= 11.8
2ec5eaf9
ORippler Restrict (fused) MMVF to 2*ts alignment, and cublas FP8 fo 16-byte
869118c8
ORippler Add todo about accumulator/precision honoring
4181ffee
ORippler Avoid races in fp8_fallback
38c119e3
ORippler Allow Hopper and other BW SKUs for FP8
462030ac
ORippler Use intrinsic over explicit manual conversions
448c9545
ORippler Resolve TODO
9a210cc3
ORippler Add commend on cublaslt workspaces
b09dbfc3
ORippler Use convert_unary_cont_cuda over block dequant in convert.cu
d6633514
ORippler Use get_rows_cuda_float for fp8 kv cache
22e83368
ORippler Make FP8 copies work on all IHV's
5ac8bf07
ORippler More cleanup
ced2aa78
ORippler Simplify by falling back to shared cuBLAS helper
e282a87e
ORippler Fuse weight_scale multiplication for FP8 also
3f7cdbfe
ORippler More code-cleanup
1a608da4
ORippler Guard __nv_cvt_fp8x2_to_bf162raw on CTK 13.4
c6558f2d
ORippler Use F32 activations in fallback mmvf path
3760c495
ORippler ORippler marked this pull request as ready for review 8 hours ago
ORippler ORippler requested a review from ggerganov ggerganov 8 hours ago
ORippler ORippler requested a review 8 hours ago
ORippler Explicitly link against cublaslt
d35a3ede
ORippler ORippler force pushed from 83eb3105 to d35a3ede 7 hours ago
ORippler ORippler force-pushed the osimons/ocp_fp8_kv branch from 8e5f653e to e4cd9520 7 hours ago

Login to write a write a comment.

Login via GitHub

Reviewers
Assignees
No one assigned
Labels
Milestone