Description
Compiled backend reporting, safe CPU availability, and coarse selection.
Architecture_Name
function Architecture_Name return String
Return the architecture selected when the library was built.
Return value
The selected GPR architecture name.
Available
function Available (Backend : Backend_Kind) return Boolean
Report whether a compiled backend can execute on this system.
Parameters
- Backend
The backend to inspect.
Return value
True when the backend is compiled and safe to execute.
Backend_Kind
type Backend_Kind is (Scalar, NEON, SSE2, AVX2);
A selectable complete-buffer implementation.
Enumeration literals
- Scalar
Portable scalar implementation.
- NEON
AArch64 Advanced SIMD implementation.
- SSE2
x86-64 baseline implementation.
- AVX2
Optional x86-64 AVX2 buffer implementation.
Backend_Unavailable
Backend_Unavailable : exception;
A requested backend is not compiled or cannot execute safely.
Best_Available
function Best_Available return Backend_Kind
Select the highest-priority safe backend in the current build.
Return value
NEON, AVX2, SSE2, or Scalar according to the current system.
Compiled
function Compiled (Backend : Backend_Kind) return Boolean
Report whether the current build contains a backend.
Parameters
- Backend
The backend to inspect.
Return value
True when the build contains the backend.
Name
function Name (Backend : Backend_Kind) return String
Return the stable lower-case backend name.
Parameters
- Backend
The backend to name.
Return value
The backend name.
Require
procedure Require (Backend : Backend_Kind)
Reject a backend that cannot execute safely.
Parameters
- Backend
The required backend.
Raised exceptions
- Backend_Unavailable
The backend is not available.