Custom Kernel Framework#
Custom Kernel#
|
Creates and manages a custom JAX primitive for XLA custom calls. |
|
A registered kernel implementation for a specific backend and platform. |
CPU Kernel via Numba#
|
Create a JAX-callable function from a Numba CPU kernel. |
GPU Kernel via Numba CUDA#
|
Create a JAX-callable function from a single Numba CUDA kernel. |
|
Create a JAX-callable from a Python function that launches Numba CUDA kernels. |
GPU Kernel via CUDA Source#
|
Compile inline CUDA source and load the resulting module. |
|
Compile a single |
|
Compile all CUDA files in a directory and load the resulting module. |
CPU Kernel via C++ Source#
|
Compile inline C++ source for CPU (or CUDA) and load the module. |
|
Compile a single |
|
Normalise compatible tokens to canonical BE form. |
Compiler Backends#
Abstract base class for BE compiler backends. |
|
|
Compile C++ sources with g++ / clang++. |
|
Compile CUDA sources directly with nvcc. |
Compile HIP sources for AMD GPUs (stub — not yet implemented). |
Runtime#
|
A compiled module loaded from a shared library. |
|
Register a compiled function as a JAX FFI target. |
Return a sorted list of all registered FFI target names. |
Primitive Registry#
Return a copy of the full primitive registry. |
|
Return a sorted list of all registered primitive names. |
|
|
Return primitives that have all the specified tags. |
Cache Utilities#
|
Clear the compilation cache. |
|
Set the compilation cache directory. |
Return the current compilation cache directory path. |
Diagnostics#
Print a summary of the brainevent compilation environment. |
Exceptions#
Kernel construction, compilation and dispatch raise the exceptions documented in Error Classes.