sgns::neoswarm::fp4::FP4Codec¶
Encodes and decodes FP32 weight matrices to/from FP4.
#include <fp4_codec.hpp>
Public Functions¶
| Name | |
|---|---|
| FP4Codec() =default | |
| outcome::result< FP4Tensor > | Encode(const float * weights, size_t rows, size_t cols, const float * activation_stats =nullptr) const Quantize a row-major FP32 weight matrix to FP4. |
| outcome::result< void > | Decode(const FP4Tensor & tensor, float * output) const Dequantize an FP4Tensor to a FP32 output buffer. |
| float | ComputeError(const float * original, const FP4Tensor & encoded) const Compute mean squared error between original and round-tripped weights. |
Public Functions Documentation¶
function FP4Codec¶
function Encode¶
outcome::result< FP4Tensor > Encode(
const float * weights,
size_t rows,
size_t cols,
const float * activation_stats =nullptr
) const
Quantize a row-major FP32 weight matrix to FP4.
Parameters:
- weights Pointer to rows×cols FP32 values.
- rows Number of rows.
- cols Number of columns.
- activation_stats Optional per-column activation magnitudes (may be nullptr).
Return: Encoded FP4Tensor or FP4DecodeFailed.
function Decode¶
Dequantize an FP4Tensor to a FP32 output buffer.
Parameters:
- tensor Encoded tensor.
- output Pre-allocated buffer of tensor.rows_ × tensor.cols_ floats.
Return: outcome::success or FP4DecodeFailed.
function ComputeError¶
Compute mean squared error between original and round-tripped weights.
Parameters:
- original Original FP32 weights.
- encoded Encoded FP4Tensor.
Return: MSE value.
Updated on 2026-07-25 at 22:56:56 +0000