koblas

Backend

interface Backend(source)

What every backend reports about itself.

Inheritors

Properties

isAvailable

Whether this backend can do work on this host. koblas's own implementations always can, so the default is true; a binding reports whether the library it calls resolved.

Each half answers for itself, since a host can provide CBLAS without LAPACKE, or OpenBLAS without UMFPACK. Registration does not consult this: koblas registers its UMFPACK binding on a bare library lookup and lets the binding fall back per call, so a registered backend may still report false here. Read it to report what a host offers, or before installing one explicitly.

isPortable

Whether this is koblas's own implementation rather than a binding to a host library. The compiled-in SIMD kernels are portable however fast they are; only something calling out counts as accelerated.

name

abstract val name: String(source)

A short backend identifier for diagnostics (e.g. "reference").

priority

open val priority: Int(source)

Relative preference among the backends offered for one half (F64Blas, F64Decompositions, F64Kernels or a sparse counterpart). registerBackend picks the highest; the portable reference is 0.