std1.0.0-beta-7 SafeC docs

std :: ml::lora

Struct std::Nf4Tensor

#include <std/ml/lora.h> source

struct Nf4Tensor {
    &heap unsigned char codes;
    &heap float absmax;
    &heap unsigned char absmaxQ;
    &heap float absmaxScale;
    float absmaxMean;
    unsigned long rows;
    unsigned long cols;
    unsigned long blockSize;
    unsigned long blocks;
    int doubleQuant;
}

Fields

§&heap unsigned char codessource

two 4-bit level indices per byte, low nibble first

§&heap float absmaxsource

one per block (when not double-quantized)

§&heap unsigned char absmaxQsource

int8 + 128 per block (double-quantized)

§&heap float absmaxScalesource

one per NF4_SCALE_BLOCK blocks

§float absmaxMeansource

subtracted before the 8-bit quantization

§unsigned long rowssource
§unsigned long colssource
§unsigned long blockSizesource
§unsigned long blockssource
§int doubleQuantsource

Methods

§unsigned long bytes() constsource · definition

storage, all parts

§void drop()source · definition
§void free() consumesource · definition

= drop()

§static struct Nf4Tensor quantize( const &FloatTensor w, unsigned long blockSize, int doubleQuant, )source · definition
§&FloatTensor dequantize() constsource · definition

[rows, cols], no grad