Skip to content

Cnuas Product Roadmap & Project Plan

Scope: Cnuas Virtual AI HPC Infrastructure and all components · Version: `fb4638b-dirty` · Updated: 2026-07-05

This page is the single source of truth for what is available today versus what is planned. It is organised as Epics (major workstreams) broken into Tasks, mirroring the GitHub Projects board used for day-to-day tracking.

Status legend

Symbol Meaning
✅ Available Implemented, tested, and shipped in the current tree
🚧 In Progress Actively being worked on
📋 Planned Scheduled; not yet started
⛔ Blocked Waiting on a dependency

Roadmap at a glance

timeline title HiCAIN Delivery Horizons section Now - Available HiNIC RoCEv2 + Native IB : RC/UD/SMI/GSI, atomics, SRQ, multicast, ICRC HiSwitch fabric : 10-port RoCE/IB, DCB, in-switch Subnet Manager HiGPU runtime : SIMT, libhicart, AVX2/AVX-512 SGEMM HiLink fabric : frame protocol, FDB, discovery Platform : VM lifecycle CLI, packaging, submodule split, datasheets section Next - In Progress HiNIC IB SM : SA path-record, PMA/perfquery, opensm compat HiGPU compute : backend refactor, dlopen loader Docs : ASCII to mermaid, roadmap, RoCE/IB HowTo rewrite section Later - Planned HiGPU devices : device-backend refactor, HiIR interpreter FPGA : Verilog + Libero skeleton on PolarFire SoC Collectives : UCCL P2P + AllReduce/AllGather

Epics and tasks

Epic 1, HiNIC: RDMA NIC (RoCEv2 + native InfiniBand)

Repo: PacketFive/HiNIC (v0.1.0-23-gd97b1c9)

Status Task Milestone
✅ Available RoCEv2 TX path H1
✅ Available RoCEv2 RX path H2
✅ Available RC reliability + RDMA READ ,
✅ Available RC atomics (CMP_SWP, FETCH_ADD) ,
✅ Available Multi-packet WRITE/READ honouring path MTU ,
✅ Available Real ICRC compute + validate on RX ,
✅ Available Shared Receive Queue (SRQ) ,
✅ Available UD QPs + IB multicast (attach_mcast) ,
✅ Available Per-port IB link layer + dual port_immutable I1
✅ Available LRH + IB opcodes; parallel IB skb builder I2, I3
✅ Available Wire IB skb through QEMU vNIC + switch pipeline I4
✅ Available QP0 MAD plumbing; SMA GET/SET; directed-route SMPs I5a, I5c
✅ Available SM wire-format + kernel SMI groundwork I5f
✅ Available LRH-aware RX dispatcher I6
✅ Available End-to-end test gate (pingpong + perftest + ibstat) I7
✅ Available NCCL / UCX build+link gates ,
📋 Planned SA path-record responder on QP1 I5f-SA
📋 Planned PMA + perfquery support I5g
📋 Planned opensm-in-VM compatibility lab I5h
📋 Planned RoCE/IB HowTo rewrite (RoCEv2 + Native IB) I8
📋 Planned Debug ib_umad /dev/infiniband/umadN creation ,
⛔ Blocked UCCL-P2P RDMA transfer engine smoke ,
⛔ Blocked UCCL collective (AllReduce) host-mem smoke ,

Epic 2, HiGPU: Virtual GPU + Runtime

Repo: PacketFive/HiGPU (v0.2.0-3-g4104982)

Status Task Milestone
✅ Available GPU driver scaffold + /dev/higpuN char device Phase 2
✅ Available ioctl set (INFO/ALLOC/FREE/MEMCPY/LINK_*) ,
✅ Available libhi low-level driver shim ,
✅ Available libhicart CUDA-style runtime ,
✅ Available Vector add compute primitive 5b
✅ Available Tile-based SGEMM (AVX2/FMA) ,
✅ Available AVX-512 SGEMM 6.3
✅ Available Multi-GPU verification ,
✅ Available hicasmi / hi-smi CLI ,
🚧 In Progress Compute-backend refactor (Stage B + C) 6.1
📋 Planned Split backends into .so + dlopen loader 6.1c
📋 Planned Device-backend refactor 6.2
📋 Planned HiIR interpreter 6.4
📋 Planned FPGA Verilog + Libero skeleton (PolarFire SoC) 6.5
📋 Planned Documentation pass 6.6

Epic 3, HiSwitch: Virtual TOR Switch

Repo: PacketFive/HiSwitch (v0.1.0-4-g1700b86)

Status Task Milestone
✅ Available 10-port switch daemon (hicain-vswitchd) ,
✅ Available RoCEv2 + native IB forwarding ,
✅ Available DCB: PFC / ETS / ECN ,
✅ Available Ethernet FDB + IB LFT ,
✅ Available Switch-side SMA I5d
✅ Available In-switch Subnet Manager I5e
✅ Available SM SMP wire-format fix for kernel CA acceptance I5f
✅ Available OpenTelemetry telemetry export ,
✅ Available JSON management API (18+ commands) ,
📋 Planned Switch-side SA/PMA alignment I5g

Repo: PacketFive/HiLink (v0.1.0)

Status Task Milestone
✅ Available GPU fabric switch daemon (higpu-link-switchd) P1
✅ Available 8-port frame-based protocol ,
✅ Available FDB learning + discovery + keepalive ,
✅ Available HiGPU ↔ switch wiring P2
✅ Available Link state in sysfs + hicasmi P2.1
✅ Available hilink-cli management CLI P4
📋 Planned Collective offload (AllReduce / AllGather) end-to-end ,
📋 Planned Bandwidth / latency modelling ,

Epic 5, Platform, Tooling & VM Lifecycle

Superproject: PacketFive/vdc (fb4638b-dirty)

Status Task Milestone
✅ Available VM lifecycle CLI (vm up/down/ssh/console/lab) 6.2e
✅ Available Package + image build subcommands 6.2c, 6.2d
✅ Available Kernel port to v6.19 + binary .ko/.deb packaging 6.2f
✅ Available Deployment tooling ,
✅ Available Repo split into per-component submodules ,
✅ Available QEMU fork tagged for consumers ,
✅ Available CI strategy (Azure DevOps) 6.0e
✅ Available Build system (Bazel + Make) ,

Epic 6, Documentation

Status Task Milestone
✅ Available Design docs (topology, switch, HiLink, HiGPU, driver, control plane) 6.0
✅ Available Component + platform datasheets ,
✅ Available Live version wiring from git tags ,
✅ Available Version pinning reference ,
✅ Available Convert ASCII diagrams to mermaid across docs ,
🚧 In Progress This roadmap ,
📋 Planned RoCE/IB HowTo rewrite I8

Project management

Day-to-day tracking lives in GitHub Projects (Projects v2), because the component repos already live under the PacketFive GitHub organisation, so Epics and Tasks link directly to issues, pull requests, and commits.

  • Epics map to the six workstreams above (label epic).
  • Tasks map to individual table rows (label task), linked to their Epic and to the owning component repo.
  • Status field mirrors the legend (Available / In Progress / Planned / Blocked).

The board is seeded and kept in sync from a machine-readable source of truth:

  • scripts/roadmap/roadmap.csv, every Epic and Task with status, milestone, and repo.
  • scripts/roadmap/seed_github_project.sh, creates the Project, labels, and issues via the gh CLI.

Seeding the board

# One-time auth with project scope
gh auth login
gh auth refresh -s project,read:project

# Preview what would be created
scripts/roadmap/seed_github_project.sh --owner PacketFive --dry-run

# Create the board + issues
scripts/roadmap/seed_github_project.sh --owner PacketFive --title "HiCAIN Roadmap"

Keeping this roadmap current

  1. Update scripts/roadmap/roadmap.csv when a task changes status.
  2. Re-run scripts/roadmap/seed_github_project.sh --sync to reflect changes on the board.
  3. Component versions on this page and in the datasheets update automatically from git tags at documentation build time (no manual edit needed).