Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
src/uni20/linalg/backends

This directory contains dense linalg backend front ends. These files translate Uni20 dense matrix operations into a concrete backend family while staying above the raw external-library wrappers.

Contents

  • `cpu/`: CPU dense matrix helpers and CPU matrix exponential implementation.
  • `direct_gemm/`: operation-specific tensor contractions that lower to one GEMM dispatch.
  • `looped_gemm/`: tensor contractions that loop over one residual M or N group around GEMM dispatch.
  • `blas/`: operation-tag backend adapters that delegate to mdspan BLAS helpers.
  • `cublas/`: provider-ready CUDA operation adapters using acquired cuBLAS execution leases.
  • `cuda/`: generic CUDA runtime kernels and transfers used after provider backends decline.
  • `lapack/`: LAPACK-backed matrix operation entry points.
  • `cusolver/`: cuSOLVER-backed matrix operation entry points.
  • packed_matrix.hpp: precision-aware logical host packing shared by packed BLAS/LAPACK specializations. Provider object representation stays in backend/mplapack/.

Notes

  • Backend front ends should own linalg-level policy such as result allocation, view preparation, and operation selection.
  • Raw provider signatures and ABI details belong in the backend source layer.

Related Documentation