CyxWiz LogoCyxWiz
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 files
  • std::span - Non-owning array views
  • std::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

LibraryVersionPurpose
Dear ImGui1.90+ (docking)Immediate-mode GUI with docking, multi-viewport
ImNodesLatestNode editor extension, visual ML pipeline builder
ImPlot0.16+Real-time plotting (loss curves, histograms)
GLFW3.3+Cross-platform window and input
OpenGL3.3+ CoreGraphics rendering backend

GPU Computing - ArrayFire

Unified interface for GPU/CPU computation (version 3.8+):

BackendHardwareAPI
CUDANVIDIA GPUsCUDA Toolkit
OpenCLAMD/Intel/NVIDIAOpenCL 1.2+
CPUAny CPUNative 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 types
  • job.proto - Job management
  • node.proto - Node services
  • compute.proto - Operations
  • wallet.proto - Wallet ops

Database Stack

TechnologyVersionPurpose
PostgreSQL13+Production database (JSONB, full-text search)
SQLite3.40+Development/testing (zero config)
SQLx (Rust)0.7Async DB with compile-time query validation
Redis6+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)

PackageVersionPurpose
imgui1.90+GUI framework
implot0.16+Plotting
glfw33.3+Window/input
grpc1.50+RPC framework
protobuf3.21+Serialization
spdlog1.11+Logging
nlohmann-json3.11+JSON
openssl3.0+Crypto
pybind112.10+Python bindings
catch23.0+Testing

Rust Dependencies (Cargo)

CrateVersionPurpose
tokio1.0Async runtime
tonic0.9gRPC framework
prost0.11Protobuf
sqlx0.7Database
redis0.23Cache
solana-sdk1.17Blockchain
jsonwebtoken9.0JWT auth
serde1.0Serialization
tracing0.1Logging