Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Kernel Catalogue

RustKernels provides 106 GPU-accelerated kernels across 14 domain-specific crates. This catalogue organizes kernels by business domain.

Quick Reference

DomainCrateKernelsPrimary Use Cases
Graph Analyticsrustkernel-graph28Centrality, GNN inference, community detection
Statistical MLrustkernel-ml17Clustering, NLP, federated learning, healthcare
Compliancerustkernel-compliance11AML, KYC, sanctions screening
Temporal Analysisrustkernel-temporal7Forecasting, seasonality, anomalies
Risk Analyticsrustkernel-risk5Credit, market, portfolio risk, correlation
Bankingrustkernel-banking1Fraud pattern matching
Behavioral Analyticsrustkernel-behavioral6Profiling, forensics, correlation
Order Matchingrustkernel-orderbook1Order book matching engine
Process Intelligencerustkernel-procint7DFG, conformance, digital twin simulation
Clearingrustkernel-clearing5Netting, settlement, DVP
Treasuryrustkernel-treasury5Cash flow, FX, liquidity
Accountingrustkernel-accounting9Network generation, reconciliation
Paymentsrustkernel-payments2Payment processing, flow analysis
Auditrustkernel-audit2Feature extraction, hypergraph

Execution Support

Kernels fall into three registration categories based on their trait implementations:

Fully Executable (via REST/gRPC)

Kernels implementing BatchKernel<I, O> are registered with register_batch_typed() and can be executed through the type-erased BatchKernelDyn interface used by REST and gRPC endpoints.

Examples: BetweennessCentrality, KMeans, DBSCAN, KYCScoring, ARIMAForecast, StressTesting

Metadata-Only (Batch)

Kernels implementing GpuKernel only are registered with register_batch_metadata_from(). They are discoverable through metadata endpoints but require direct Rust API calls for execution.

Examples: GraphDensity, LouvainCommunity, IsolationForest, AMLPatternDetection

Ring Kernels

Ring kernels are registered with register_ring_metadata_from(). They require the RingKernel persistent actor runtime for execution and communicate via lock-free ring buffers.

Examples: PageRankRing, DegreeCentralityRing, OrderMatchingRing, NetworkGenerationRing

Using the Catalogue

Each domain page includes:

  1. Domain Overview — Purpose and key use cases
  2. Kernel List — All kernels with brief descriptions
  3. Kernel Details — For each kernel:
    • Kernel ID and execution mode
    • Input/output types
    • Usage examples
    • Performance characteristics

Feature Flags

Enable specific domains via Cargo features:

# Default domains (graph, ml, compliance, temporal, risk)
rustkernels = "0.4.0"

# Selective
rustkernels = { version = "0.4.0", features = ["accounting", "treasury"] }

# All domains
rustkernels = { version = "0.4.0", features = ["full"] }

Kernel ID Convention

Kernel IDs follow the pattern {domain}/{kernel-name}:

graph/pagerank
ml/kmeans
compliance/aml-pattern-detection
risk/monte-carlo-var
accounting/network-generation

This enables hierarchical organization and clear domain ownership.