Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Modules | Macros
Backend subsystem

Facilities that coordinate concrete compute backends with instrumentation hooks. More...

Collaboration diagram for Backend subsystem:

Modules

 CUDA backend integration
 CUDA runtime ownership, completion, and provider integration.
 
 cuBLAS backend integration
 Dynamic cuBLAS handle/stream leasing and provider wrappers.
 
 cuSOLVER backend integration
 Helpers that adapt cuSOLVER handles and status codes to Uni20 abstractions.
 
 BLAS backend integration
 Glue that binds Uni20 abstractions to BLAS vendor implementations.
 
 LAPACK backend integration
 Glue that binds Uni20 abstractions to LAPACK-compatible dense linear algebra providers.
 
 Backend implementation details
 Internal macros and helpers that support backend integrations without being part of the public API surface.
 

Macros

#define UNI20_EXTERNAL_API_CALL(module, func, ...)
 Emits a trace log entry for an outgoing backend API call.
 

Detailed Description

Facilities that coordinate concrete compute backends with instrumentation hooks.

The backend subsystem centralizes all compile- and run-time glue that selects different accelerator or BLAS providers. Shared helpers here also implement the tracing/logging hooks documented in docs/development/doxygen.md so public entry points consistently record side effects.

Submodules

Macro Definition Documentation

◆ UNI20_EXTERNAL_API_CALL

#define UNI20_EXTERNAL_API_CALL (   module,
  func,
  ... 
)
Value:
TRACE_MODULE(module, \
"Calling external API function " UNI20_INTERNAL_API_CALL_STRINGIZE(func) __VA_OPT__(, __VA_ARGS__))
#define UNI20_INTERNAL_API_CALL_STRINGIZE(func)
Produces the log-friendly spelling of an external backend API symbol.
Definition backend.hpp:78
#define TRACE_MODULE(m,...)
Definition trace.hpp:149

Emits a trace log entry for an outgoing backend API call.

This macro wraps TRACE_MODULE so every external backend API call records a side effect visible to the tracing subsystem.

Parameters
moduleName of the backend module emitting the trace entry. This must match one of the trace channels registered in the top-level CMake configuration.
funcSymbol name for the backend function being invoked. The value is stringized for inclusion in the trace message but is otherwise unmodified.
...Optional comma-separated arguments that mirror the runtime parameters forwarded to the backend function. Each argument is appended to the trace entry when provided.