Expand description
CUDA kernel provider implementation
This module provides the CudaKernelProvider which manages pre-compiled
PTX kernels for GPU execution of relational operations (join, dedup, groupby).
Modules§
- arith_
kernels - Kernel function names in the arithmetic module
- cache_
kernels - Kernel function names in the cache module
- circuit_
kernels - Kernel function names in the circuit module
- cnf_
kernels - Kernel function names in the GPU CNF encoder module.
- d4_
kernels - Kernel function names in the GPU Decision-DNNF compiler module (CNF validation + circuit levelization).
- dedup_
kernels - Kernel function names in the dedup module
- epistemic_
kernels - Kernel function names in the epistemic module.
- filter_
kernels - Kernel function names in the filter module
- groupby_
kernels - Kernel function names in the groupby module
- ilp_
credit_ kernels - Kernel function names in the ILP credit module.
- ilp_
exact_ kernels - Kernel function names in the native bounded exact-induction module.
- ilp_
kernels - Kernel function names in the ILP module.
- join_
kernels - Kernel function names in the join module
- kernel_
paths - mc_
eval_ kernels - Kernel function names in the Monte Carlo evaluation module
- mc_
resident_ kernels - Kernel function names in the GPU-resident Datalog/MC engine module.
- mc_
sample_ kernels - Kernel function names in the Monte Carlo sampling module
- neural_
kernels - Kernel function names in the neural fast-path module.
- pack_
kernels - Kernel function names in the pack module (GPU-side key packing)
- pir_
kernels - Kernel function names in the PIR interning module.
- sat_
kernels - Kernel function names in the SAT module
- scan_
kernels - Kernel function names in the scan module
- set_
ops_ kernels - Kernel function names in the set_ops module
- sort_
kernels - Kernel function names in the sort module
- wcoj_
kernels - Kernel function names in the GPU WCOJ module.
- weights_
kernels - Kernel function names in the weights module.
Structs§
- Cuda
Kernel Provider - CUDA kernel provider for xlog GPU operations
- FjDelta
Cols - Column roles for one factorized delta step. The delta atom binds
(carry, key); the stable relation binds (carry, value) in head
column order —
r_carry/r_valuetherefore double as the output placement (the novel buffer is built infull_r’s schema). The static side is always consumed key-first (layout-normalized by the caller), so it needs no indices here. - FjNode
- One plan node: iterate the cover subatom (bulk EXPAND over the whole frontier), then refine every probe subatom (PROBE + compaction). Probe variables must already be bound.
- FjPlan
- A host-side Free Join plan over
inputs(design §3). Callers hand-build the plan today; planner construction from binary joins (binary2fj) is a downstream integration surface. - FjSub
Atom - One subatom: an atom (
input_idx) restricted to the variables its nextvar_positions.len()physical columns bind/probe. Across the whole plan, each atom’s subatoms consume its columns in order and must partition them exactly (design §3). - Hash
Table U64 - Bucketed hash table for u64 hashes.
- Host
Launch Metadata Transfer Stats - Host
Transfer Stats - Join
Index V2 - Cached build-side join index for v2 hash join.
- PtxLoad
Profile - Per-module PTX load timing (populated only when XLOG_WARMUP_PROFILE=1).
- Radix
Sort Scratch - Scratch buffers for stable radix sorting of u32 key/value pairs.
Enums§
Constants§
- ARITH_
MODULE - CACHE_
MODULE - CIRCUIT_
MODULE - CNF_
MODULE - D4_
MODULE - DEDUP_
MODULE - DEFAULT_
JOIN_ MAX_ OUTPUT - Default maximum output size for join operations. This prevents memory overflow when joining large tables with high cardinality matches.
- EPISTEMIC_
MODULE - FILTER_
MODULE - FJ_
DELTA_ MAX_ DOMAIN - Dense-domain bound for the spike bitmap (
domain²/8bytes = 512 MB at the bound; gate fixtures usedomain ≤ 2^13). - GROUPBY_
MODULE - ILP_
CREDIT_ MODULE - ILP_
EXACT_ MODULE - ILP_
MODULE - JOIN_
MODULE - Module names for loaded PTX modules
- MC_
EVAL_ MODULE - MC_
RESIDENT_ MODULE - MC_
SAMPLE_ MODULE - NESTED_
LOOP_ TOTAL_ THRESHOLD - Nested-loop join eligibility threshold (Cartesian product
upper bound). The dispatcher routes to nested-loop iff
num_left * num_right <= NESTED_LOOP_TOTAL_THRESHOLD; the provider validates the same invariant fail-closed before any allocation. - NEURAL_
MODULE - PACK_
MODULE - PIR_
MODULE - SAT_
MODULE - SCAN_
MODULE - SET_
OPS_ MODULE - SORT_
MODULE - WCOJ_
MODULE - WEIGHTS_
MODULE