Skip to content

Explanations

This section contains discussion about the overall design and implementation of this package.

  • Named Abstractions -- The core abstraction stack: NamedDimension, NamedDimCollection, NamedShape, and NamedLinop.
  • Why This Package? -- Motivation: the problems with traditional linops and how named dimensions solve them.
  • Design Notes -- Key design decisions and tradeoffs (staticmethods, caching in lists, pickle-ability, shape matching).
  • Copying Linops -- How shallow copy and memory-aware deep copy work, and why they matter.
  • Multi-GPU Splitting -- Splitting operators across devices: BatchSpec, ToDevice, streams, and events.
  • FAQ -- Frequently asked questions.