Cnuas Virtual AI HPC Infrastructure Datasheet¶
Part: Cnuas Virtual AI HPC Infrastructure · Type: Software-emulated virtual AI and HPC infrastructure · Version: Platform 2026.07 (`fb4638b-dirty`) · Status: Active development · Product: packetfive.com/cnuas
1. Overview¶
Cnuas (Irish Gaeilge for "cluster") is the Cnuas Virtual AI HPC Infrastructure, a 100% software-emulated virtual AI and HPC infrastructure for teaching and developing HPC, AI, and RDMA networking (RoCEv2 and native InfiniBand) without physical GPU clusters or InfiniBand switches. Every device is a QEMU/userspace model presented to unmodified guest software, so a virtual GPU or NIC behaves like the real part it emulates. Cnuas is developed under the internal HiCAIN engineering programme.
It composes four emulated device families, HiSwitch (TOR fabric switch), HiNIC (RDMA NIC), HiGPU (SIMT accelerator), and HiLink (GPU fabric), over a forked QEMU and a forked Linux kernel, orchestrated as VMs on a single Ubuntu management host.
Key features¶
- Full RDMA fabric, RoCEv2 and native InfiniBand, end to end.
- SIMT virtual GPUs with a CUDA-style runtime and multi-architecture SIMD backends.
- Separate GPU-to-GPU fabric (HiLink) modelling an NVSwitch/NVLink-class interconnect.
- In-switch Subnet Manager, the fabric comes up without external
opensm. - Runs on a single commodity x86-64 host; no special hardware required.
- Consistent management plane spanning CLIs, JSON control sockets, and a browser dashboard.
- Multi-rack topology modelling on the Open Compute Project Open Rack v3 reference.
2. Rack-level block diagram¶
Two-rack reference deployment. Each rack has a HiSwitch top-of-rack (TOR) for the RoCE/IB fabric and a rack-local HiLink switch for the GPU fabric. VMs attach to both fabrics; racks are joined by an inter-TOR link.
2.1 Rack elevation (ORv3, 24 OU)¶
Logical OU (OpenU) slot assignment for a single rack. HiSwitch (TOR) and the rack-local HiLink switch occupy the top OUs; compute VMs fill the remainder. Two such racks form the reference deployment above.
3. Host / node block diagram¶
Inside a single physical host, the switch daemons run in host userspace; each VM
is a QEMU process exposing a hicain-vnic (NIC) and a higpu (GPU) PCIe device.
Devices connect to the daemons over UNIX-domain sockets (UDS).
4. Guest software stack¶
Per-VM stack, from application down to the QEMU device backends. The RDMA path
uses stock libibverbs, which dlopen()s the HiNIC provider; the GPU path uses
libhicart over the higpu.ko char device.
5. Platform specifications¶
| Parameter | Value |
|---|---|
| Emulation model | QEMU custom PCIe devices + userspace switch daemons |
| Host OS | Ubuntu 24.04 LTS (x86-64) |
| Guest kernel | Linux fork hicain-v6.19.0 (6.19.0-hicain+) |
| Hypervisor | QEMU fork hicain-qemu-v0.1.0 |
| Inter-VM data transport | UNIX domain sockets (SOCK_SEQPACKET); ivshmem shared memory (GPU fast path) |
| Management transport | JSON over UNIX/TCP sockets |
| Reference topology | Open Compute Project Open Rack v3 (ORv3), up to 24 OU |
| Fabric switch ports | 10 per HiSwitch (8 fabric + uplink + console) |
| GPU fabric ports | 8 per HiLink (configurable, max 32) |
| Build system | Bazel (daemons/CLI/WebUI/packaging), Make (kernel, QEMU) |
| Languages | C (GNU C, daemons + kernel), Python 3.11+ (tooling), C++ (QEMU models) |
| Versioning | Semantic versioning per component (hicain-vMAJOR.MINOR.PATCH) |
6. Component summary¶
| Component | Part / daemon | Kernel | Userspace | Datasheet |
|---|---|---|---|---|
| Fabric switch | hicain-vswitchd |
, (host daemon) | hicain-cli, WebUI |
HiSwitch |
| RDMA NIC | hicain-vnic |
hicain_net.ko, hicain_ib.ko |
libhicain-rdmav34.so |
HiNIC |
| GPU | higpu |
higpu.ko (/dev/higpuN) |
libhicart.so, libhi.so, hicasmi |
HiGPU |
| GPU fabric | higpu-link-switchd |
, (host daemon) | hilink-cli |
HiLink |
6.1 Component versions¶
Live from each submodule's git tag at documentation build time:
| Component | Version (git tag) |
|---|---|
| VDC (superproject) | fb4638b-dirty |
| HiSwitch | v0.1.0-4-g1700b86 |
| HiNIC | v0.1.0-23-gd97b1c9 |
| HiGPU | v0.2.0-3-g4104982 |
| HiLink | v0.1.0 |
| Linux kernel fork | hicain-v6.19.0 |
| QEMU fork | hicain-qemu-v0.1.0-2-g6b326b46bc |
7. Management and control plane¶
| Interface | Description |
|---|---|
hicain-cli |
Switch/fabric management CLI (port status, SM, DCB) |
hilink-cli |
HiLink GPU fabric management CLI |
hicasmi / hi-smi |
GPU inventory and telemetry (nvidia-smi style) |
hicain-tools |
VM lifecycle: image/package build, vm up/down/ssh/console/lab |
hicain-webui |
Browser dashboard (FastAPI backend + web frontend) |
| Control sockets | JSON over UNIX socket (/var/run/hicain/, /var/run/hilink/) |
8. Host requirements¶
| Requirement | Minimum | Recommended |
|---|---|---|
| CPU | x86-64 with AVX2 | AVX-512 (for HiGPU compute) |
| Memory | 16 GB | 64 GB+ (scales with VM count) |
| Virtualization | KVM enabled | KVM + nested virt |
| OS | Ubuntu 24.04 LTS | Ubuntu 24.04 LTS |
| Toolchain | GCC (GNU C), Make, Bazel, Python 3.11+, pytest |
+ mkdocs-material for docs |
9. Roadmap summary¶
Feature availability at a glance. Full Epic/Task breakdown, status, and the GitHub Projects board are in the Product Roadmap.
| Workstream | Available today | Planned |
|---|---|---|
| HiNIC (RDMA NIC) | RoCEv2 + native IB, RC/UD/SMI/GSI, atomics, SRQ, multicast, ICRC, in-switch SM interop | SA path-record, PMA/perfquery, opensm compat |
| HiSwitch (fabric) | 10-port RoCE/IB, DCB, FDB/LFT, in-switch Subnet Manager, telemetry | Switch-side SA/PMA alignment |
| HiGPU (accelerator) | SIMT runtime, libhicart/libhi, AVX2/AVX-512 SGEMM, multi-GPU | Backend dlopen split, device-backend refactor, HiIR, FPGA |
| HiLink (GPU fabric) | Frame protocol, FDB, discovery, sysfs link state, CLI | Collective offload, bandwidth modelling |
| Platform / tooling | VM lifecycle CLI, packaging, submodule split, CI | Documentation pass |
10. Ordering / integration information¶
| Item | Value |
|---|---|
| Superproject repo | PacketFive/vdc (git submodule superproject) |
| Submodules | linux, qemu, src/hinic, src/hiswitch, src/higpu, src/hilink |
| License | Apache-2.0 with custom amendment rider (see repository LICENSE) |
| Quick start | ./build_and_test.sh |
| Documentation | https://packetfive.github.io/vdc/ |
11. Revision history¶
| Revision | Date | Notes |
|---|---|---|
| A | 2026-07-05 | Initial platform datasheet |
| B | 2026-07-05 | Added rack/host/stack diagrams, detailed specs, component driver map |
| C | 2026-07-05 | Added rack elevation, live version table, roadmap summary |