Coreforge provides SIMD-optimized kernels, concurrent and sparse data structures, GPU utilities, and HPC-oriented memory management components.
| Platform | Status |
|---|---|
| Linux (x86_64 / CUDA) | ✓ Supported |
| Windows (MSVC / CUDA) | ✓ Supported |
| macOS (Intel) | ✓ CPU modules; oneTBB/CUDA disabled |
| macOS (Apple Silicon / ARM64) | ✓ CPU modules; portable sparse backend |
Apple builds use standard C++ fallbacks for sparse containers and serial execution when OpenMP is unavailable. oneTBB and CUDA are forcibly excluded from Apple targets, even if a stale CMake cache attempts to enable them.
Tests and benchmarks default to off on Apple to keep the base CPU build free of
test-framework downloads. They can be requested explicitly with
-DCOREFORGE_BUILD_TESTING=ON.
COREFORGE_ENABLE_TBB: enabled by default on non-Apple platforms.COREFORGE_ENABLE_CUDA: probes CUDA on non-Apple platforms when enabled.COREFORGE_BUILD_TESTING: builds tests; defaults to off on Apple.COREFORGE_BUILD_BENCHMARK: builds benchmarks; defaults to off on Apple.
Coreforge supports separate Debug build directories for AddressSanitizer, UndefinedBehaviorSanitizer and ThreadSanitizer on Linux and macOS. ASan, UBSan and TSan cannot be combined, so use a different build directory for each one.
COREFORGE_SANITIZER accepts the following values:
| Value | Debug instrumentation |
|---|---|
address |
AddressSanitizer (address,leak on Linux; address on macOS) |
thread |
ThreadSanitizer |
undefined |
UndefinedBehaviorSanitizer |
none |
No sanitizer |
Sanitizer flags are applied only to the Debug configuration. Release, RelWithDebInfo, and MinSizeRel builds remain uninstrumented so that benchmark timings are not distorted.
Configure, build, and run the ASan tests:
cmake -S . -B build-asan \
-DCMAKE_BUILD_TYPE=Debug \
-DCOREFORGE_BUILD_TESTING=ON \
-DCOREFORGE_SANITIZER=address
cmake --build build-asan -j
ctest --test-dir build-asan --output-on-failureConfigure, build, and run the TSan tests:
cmake -S . -B build-tsan \
-DCMAKE_BUILD_TYPE=Debug \
-DCOREFORGE_BUILD_TESTING=ON \
-DCOREFORGE_SANITIZER=thread
cmake --build build-tsan -j
ctest --test-dir build-tsan --output-on-failureConfigure, build, and run the UBSan tests:
cmake -S . -B build-ubsan \
-DCMAKE_BUILD_TYPE=Debug \
-DCOREFORGE_BUILD_TESTING=ON \
-DCOREFORGE_SANITIZER=undefined
cmake --build build-ubsan -j
ctest --test-dir build-ubsan --output-on-failureFor a Debug build without instrumentation, use
-DCOREFORGE_SANITIZER=none. Sanitizer selection is not currently configured for
Windows builds.
CoreForge includes GPU-accelerated kernels optimized for high-throughput computation on NVIDIA CUDA-compatible devices:
- Radix-Sort Kernel: Processes 500M elements in ~360ms on an RTX 3080 Ti(laptop), sustaining ~1.39B elements/sec throughput.
- Warp-Synchronous & Tiled Memory Layouts: Maximizes shared memory utilization and minimizes global memory latency.
- Concurrent GPU Pipelines: Supports asynchronous kernel launches and stream-based scheduling for overlapping compute and memory operations.
- Profiling & Validation: Includes tools for warp efficiency, memory access analysis, and synchronization correctness across GPU architectures.
- Realistic HPC Throughput: Designed for bulk-parallel computation and scientific workloads, not real-time ultra-low-latency trading systems.