Pure C23 • Zero External Dependencies • Single-Header

RCRE Technical Manual & API Documentation

Recep's Code Run Everywhere (RCRE) is a high-performance engine unifying modern Computer Vision and Classical Machine Learning under an N-D strided tensor architecture with zero heap allocations in critical inference loops.

🚀 Quickstart & Header Drop-In

RCRE is distributed as an amalgamated single-header library at dist/rcre.h (102.8 KB). Simply drop this file into your project or build with the centralized operations hub.

Single-Header Drop-in (C23)
#define RCRE_IMPLEMENTATION
#include "rcre.h"
#include <stdio.h>

int main(void) {
    // 1. Initialize hardware acceleration layer (runtime CPU probe)
    rcre_hal_init();

    // 2. Allocate 64-byte aligned linear scratchpad arena (16 MB)
    RCRE_Arena* arena = rcre_arena_create(16 * 1024 * 1024);

    // 3. Create a 3D Tensor [H=1080, W=1920, C=3] for full HD image
    size_t shape[3] = {1080, 1920, 3};
    RCRE_Tensor* img = rcre_tensor_create(arena, 3, shape, RCRE_DTYPE_U8, RCRE_LAYOUT_HWC);

    printf("RCRE Initialized: Tensor capacity allocated inside arena, 0 mallocs in loops.\n");
    return 0;
}
💡
Single Translation Unit Rule: In exactly one C file, place #define RCRE_IMPLEMENTATION before including rcre.h. In all other files, simply include rcre.h normally as an API header.

🛠️ C23 Flags & Toolchain Compatibility

RCRE requires an ISO C23 compliant compiler. It makes extensive use of standard attributes [[nodiscard]], constexpr, nullptr, and standard atomic types.

Compiler Flags
# Clang (macOS / Linux)
clang -std=c2x -O3 -Wall -Wextra -pthread -march=native main.c -o main

# GCC 13+ (Linux / WSL)
gcc -std=c23 -O3 -Wall -Wextra -pthread -march=native main.c -o main

📊 Verified Hardware Benchmarks

Micro-benchmarks conducted natively on Apple Silicon M5 Max (18-core CPU, 128-bit ARM NEON vector registers) demonstrating peak hardware efficiency:

72.96 GFLOPS
Cache-Tiled GEMM (L1 Blocked)
7,922 MP/s
RGB to Gray (~0.26 ms @ 1080p)
7.86M /s
Tabular GBDT (127 ns Latency)
44,434 QPS
HNSW 64-D Vector Search

🧠 Linear Arenas: The Zero-Heap Philosophy

In high-performance computer vision and deep learning inference, memory fragmentation and heap allocation lock contention are the leading causes of latency jitter. RCRE completely outlaws malloc() and free() inside compute kernels.

All temporary tensors, intermediate feature maps, and model states are allocated from a 64-byte aligned linear arena:

Arena Lifecycle
// Allocate 32 MB arena once at pipeline initialization
RCRE_Arena* scratch = rcre_arena_create(32 * 1024 * 1024);

// Inside the 240 FPS camera inference loop:
while (camera_running) {
    // Save checkpoint
    size_t checkpoint = scratch->offset;

    // Allocate intermediate filters from scratchpad (O(1) pointer bump)
    RCRE_Tensor* gray = rcre_cv_rgb_to_gray(scratch, raw_frame);
    RCRE_Tensor* blurred = rcre_cv_gaussian_blur_2d(scratch, gray, 5, 1.0f);
    RCRE_Tensor* edges = rcre_cv_sobel_3x3(scratch, blurred);

    // Execute downstream inference...
    
    // O(1) bulk rewind: resets memory for next frame with ZERO syscall overhead!
    scratch->offset = checkpoint;
}
🧊 Visualizing 3D Tensor Memory Strides
Explore how multi-dimensional coordinates map to flat arena memory in our interactive Three.js 3D visualizer.
Launch 3D Visualizer →

📐 Strided N-D Tensors & Zero-Copy Views

RCRE tensors follow the ShapeTracker paradigm. Operations such as slicing, reshaping, transposing, and channel permuting do not copy a single byte of pixel data. They update only metadata:

\text{Offset}(i_0, i_1, \dots, i_{D-1}) = \sum_{d=0}^{D-1} i_d \cdot \text{stride}[d]

Zero-Copy Slicing Example
// Crop a 256x256 bounding box from an active 1080p frame
size_t slice_starts[3] = {100, 200, 0};  // Y=100, X=200, C=0
size_t slice_shapes[3] = {256, 256, 3};  // Crop 256x256

// Executes in under 15 nanoseconds (pure metadata update, 0 byte copy)
RCRE_Tensor* crop = rcre_tensor_slice(arena, frame_tensor, slice_starts, slice_shapes);

👁️ Computer Vision Filters & OpenCV Parity

RCRE guarantees 0 LSB (Least Significant Bit) discrepancy against OpenCV cv2.cvtColor(RGB2GRAY) by utilizing 15-bit fixed-point integer arithmetic:

Y = (9798 \cdot R + 19235 \cdot G + 3735 \cdot B + 16384) \gg 15

CV Pipeline
// 1. Convert RGB frame to Grayscale (SIMD vectorized 8 pixels per NEON cycle)
RCRE_Tensor* gray = rcre_cv_rgb_to_gray(arena, rgb_tensor);

// 2. 2D Gaussian Blur (separable kernel with reflection padding)
RCRE_Tensor* blur = rcre_cv_gaussian_blur_2d(arena, gray, 5, 1.2f);

// 3. Compute 3x3 horizontal (dx) and vertical (dy) Sobel derivatives
RCRE_Tensor *dx, *dy;
rcre_cv_sobel_3x3(arena, blur, &dx, &dy);

🌲 High-Throughput Tabular GBDT Inference

RCRE compiles gradient boosted decision trees into a cache-dense, flat array structure. Traversals operate entirely on pointer indices with zero pointer chasing and zero dynamic allocations.

GBDT Inference (127 ns Latency)
// Predict probability for tabular feature vector
float features[10] = {2.5f, -1.2f, 0.8f, 120.0f, 0.0f, 1.5f, 3.2f, -0.5f, 4.1f, 0.2f};
float probability = rcre_ml_gbdt_predict(gbdt_model, features);

printf("Predicted Probability: %.4f\n", probability);

🔍 Hierarchical Navigable Small World (HNSW) Vector Search

RCRE includes an embedded HNSW vector similarity search index for embeddings and visual feature retrieval, supporting both Euclidean ($L_2$) and Cosine distance metrics.

Vector Similarity Search (44,434 QPS)
// Create 64-D Cosine index (M=16 connections, ef_construction=64)
RCRE_HNSW_Index* index = rcre_hnsw_create(arena, 64, 16, 64, RCRE_METRIC_COSINE);

// Insert vector embeddings
rcre_hnsw_insert(index, embedding_vec, doc_id);

// Query top-K nearest neighbors
size_t out_indices[5];
float out_distances[5];
size_t count = rcre_hnsw_search(index, query_vec, 5, 32, out_indices, out_distances);

🐍 Multi-Language FFI: Python & Rust

Because RCRE adheres strictly to the ISO C23 standard C ABI, it can be called seamlessly from Python and Rust with zero-copy buffer sharing.

// C23 invocation
RCRE_Tensor* gray = rcre_cv_rgb_to_gray(arena, rgb_tensor);

📖 Complete C23 API Reference

All 42 functions exported by include/rcre.h and include/extras/rcre_cam.h:

Loading API functions...