Docs / jax4j-engine-cuda / com.nablatensor.jax4j.engine

final class

AadKernel

A recorded tape compiled into a CUDA replay kernel.

Recording and NVRTC compilation happen once, in compile; after that a replay costs one kernel launch plus a small block-partial download, no matter how many scenarios it covers. Inputs can be changed between replays via setInput without re-recording or re-compiling, since they are kernel arguments rather than baked-in constants.

Methods

String engineName()
protected double defaultMaxChunkSeconds()

The GPU is the one backend where an overlong dispatch is actively dangerous: when the device also drives a display the driver's KERNEL_EXEC_TIMEOUT watchdog recovers by resetting the GPU, taking the screen down with it, so the budget there is an order of magnitude below the watchdog rather than merely convenient.

static boolean cudaAvailable()
static String cudaDeviceName()
static AadKernel compile(AadTape tape)
static AadKernel compile(AadTape tape, AadOptions options)
String source()

Generated CUDA source, handy for inspecting what the recording produced.

double compileSeconds()

Wall-clock NVRTC compilation time, paid once per kernel.

AadResult replay(long paths, long pathOffset, long seed)
void close()