DocsTechnology
Technology Stack
Complete overview of all technologies, libraries, and frameworks used in the CyxWiz platform.
Programming Languages
C++20Primary
Engine, Server Node, and Backend library.
std::filesystem- Cross-platform filesstd::span- Non-owning array viewsstd::jthread- Auto-joining threads- Concepts and Ranges
MSVC 2022+, GCC 10+, Clang 12+
RustServer
Central Server (high-performance, memory-safe).
- Async/await with Tokio runtime
- Trait-based polymorphism
- Error handling with Result
- Macro system for codegen
Rust 2021 Edition
PythonScripting
Embedded scripting in the Engine.
- pybind11 for C++ bindings
- NumPy integration
- Custom pycyxwiz module
Python 3.8+
GUI Framework
| Library | Version | Purpose |
|---|---|---|
| Dear ImGui | 1.90+ (docking) | Immediate-mode GUI with docking, multi-viewport |
| ImNodes | Latest | Node editor extension, visual ML pipeline builder |
| ImPlot | 0.16+ | Real-time plotting (loss curves, histograms) |
| GLFW | 3.3+ | Cross-platform window and input |
| OpenGL | 3.3+ Core | Graphics rendering backend |
GPU Computing - ArrayFire
Unified interface for GPU/CPU computation (version 3.8+):
| Backend | Hardware | API |
|---|---|---|
| CUDA | NVIDIA GPUs | CUDA Toolkit |
| OpenCL | AMD/Intel/NVIDIA | OpenCL 1.2+ |
| CPU | Any CPU | Native threads |
#include <arrayfire.h> // Create tensors af::array a = af::randu(1000, 1000); af::array b = af::randu(1000, 1000); // Matrix multiplication (auto GPU) af::array c = af::matmul(a, b); // Sync and get result c.eval();
Networking
gRPC (1.50+)
- Protocol Buffers serialization
- HTTP/2 transport
- Bidirectional streaming
- Load balancing support
- TLS encryption
Protocol Buffers (proto3)
common.proto- Shared typesjob.proto- Job managementnode.proto- Node servicescompute.proto- Operationswallet.proto- Wallet ops
Database Stack
| Technology | Version | Purpose |
|---|---|---|
| PostgreSQL | 13+ | Production database (JSONB, full-text search) |
| SQLite | 3.40+ | Development/testing (zero config) |
| SQLx (Rust) | 0.7 | Async DB with compile-time query validation |
| Redis | 6+ | Session cache, job queue, rate limiting |
Build System
CMake (3.20+)
C++ build orchestrator with presets, vcpkg integration, protobuf codegen
Cargo
Rust package manager with workspace support, build profiles, testing
vcpkg
C++ package manager in manifest mode (vcpkg.json)
C++ Dependencies (vcpkg)
| Package | Version | Purpose |
|---|---|---|
| imgui | 1.90+ | GUI framework |
| implot | 0.16+ | Plotting |
| glfw3 | 3.3+ | Window/input |
| grpc | 1.50+ | RPC framework |
| protobuf | 3.21+ | Serialization |
| spdlog | 1.11+ | Logging |
| nlohmann-json | 3.11+ | JSON |
| openssl | 3.0+ | Crypto |
| pybind11 | 2.10+ | Python bindings |
| catch2 | 3.0+ | Testing |
Rust Dependencies (Cargo)
| Crate | Version | Purpose |
|---|---|---|
| tokio | 1.0 | Async runtime |
| tonic | 0.9 | gRPC framework |
| prost | 0.11 | Protobuf |
| sqlx | 0.7 | Database |
| redis | 0.23 | Cache |
| solana-sdk | 1.17 | Blockchain |
| jsonwebtoken | 9.0 | JWT auth |
| serde | 1.0 | Serialization |
| tracing | 0.1 | Logging |