installBackends
Overrides the context koblas returns, taking precedence over every automatic mechanism — registration and platform discovery alike. Passing null restores automatic selection.
installBackends(koblas.with(blas = mine)) is the usual shape: start from what resolved and change one half. Note that this freezes the others as they are now, which is what an override means — later registrations do not show through it.
Visible to subsequent koblas reads but not synchronized with operations in flight: install during startup, before other threads run.
koblas
The process-wide default context: an installBackends override when set, else whatever registered itself, else the portable reference implementations.
Every free function in koblas uses this, so a program that never mentions contexts still gets the host BLAS its platform found. Hold a KoblasContext of your own when the choice should be explicit instead.
koblasInfo
What this runtime resolved, for startup logging — e.g. "backend=openblas, kernels=simd(8 lanes)".
registerBackend
Offers backend for automatic selection as every half it implements.
One verb for what used to be eight. A backend is offered, not imposed: it becomes active only while no installBackends override is set and nothing stronger was offered for the same half, ranked by Backend.priority — openblas over cblas over the reference. Halves are ranked independently, so a host with CBLAS but no LAPACKE still accelerates what it can, and passing an object that implements several interfaces offers it for each.
This is how backend artifacts activate themselves: the JVM's classpath discovery and the native startup registration both come through here, so there is one ranking and one fallback rather than a parallel path.
Throws
if backend implements none of the six halves, which would otherwise register nothing and look like it worked.