Skip to main content

Module adapter_manager

Module adapter_manager 

Source
Expand description

LoRA adapter loading, caching, and application.

§File format (*.lora)

Offset  Size  Field
0       4     magic `LORA`
4       4     format version (u32 le) — currently 1
8       1     adapter_id (0–255)
9       3     _pad
12      4     rank (u32 le)
16      4     alpha (f32 le)
20      4     n_in — lora_a cols, lora_b rows (u32 le)
24      4     n_out — lora_b rows, lora_a rows (u32 le)
28      4     _pad
32      32    sha256 checksum of payload (lora_a ++ lora_b, raw f32 le)
64      …     lora_a data: rank × n_in f32 le, row-major
              lora_b data: n_out × rank f32 le, row-major

Both matrices are stored as raw f32 little-endian. scaling = alpha / rank; the caller multiplies by this before adding the delta.

§Invariants

  • lora_a.rows == rank, lora_a.cols == n_in (down-projection)
  • lora_b.rows == n_out, lora_b.cols == rank (up-projection)
  • lora_a is initialised with Kaiming uniform; lora_b is zeroed (standard LoRA init)
  • The checksum covers lora_a_data ++ lora_b_data only, not the header

Structs§

LoRAAdapter
A loaded LoRA adapter ready for CPU or GPU application.
LoRAAdapterManager
Manages LoRA adapter loading, caching, and active-adapter switching.
LoRAMetadata
LoRATensor
Dense f32 matrix stored in row-major order.

Enums§

LoRAError

Functions§

encode_adapter
Build a minimal valid .lora file from raw A and B matrices. Useful for generating test adapters and offline tooling.