Technology
Architectural benchmarks & interface compliance.
The Gridworkz platform links open digital silicon with co-packaged analog optics, and an open software layer connects it all to the frameworks researchers already use.
GRIDWORKZ DEV PLATFORM
Select a block to view source, registers and pinout →
Specifications
Specs matrix
TARGET pre-silicon target, subject to change
| Block | Parameter | Specification | Impact |
|---|---|---|---|
| Host | CPU | Quad-core RV64GC, out-of-order | Full ISA control, no microcode |
| Host | Toolchain | LLVM 18 / GCC RISC-V | Stock upstream compilers |
| NPU | Units | 2 × independent NPU | Parallel quantization experiments |
| NPU | Datatypes | INT4, INT8, FP4, FP8, FP16TARGET | Block minifloat research |
| Photonic | Tile size | 64 × 64 GEMMTARGET | Matrix multiply in the light domain |
| Photonic | Latency | < 4.2 ns per 64×64 tileTARGET | Target, pre-silicon estimate |
| Photonic | Precision | FP16, INT8, FP4/FP6TARGET | Analog accuracy studies |
| Interconnect | Fabric | CXL 3.1, PCIe Gen 6TARGET | Host attach & memory pooling |
| Interconnect | Topology | Mesh-on-chip (MoC)TARGET | Unified memory latency < 12 ns |
| Software | Frameworks | GCA SDK, PyTorch, JAX | CUDA-style kernels |
| Verification | Simulators | Verilator, Icarus, cocotb | Runs on a laptop, free |
| Physical | FPGA targets | AMD Kintex UltraScale+ (initial)TARGET | Board-level validation |
No matching specs.
Software ecosystem
GCA: Gridworkz Compute Architecture.
An open, CUDA-style programming model with an LLVM-based compiler (gcacc), a bare-metal runtime and a BLAS library (gblas). Kernels run unchanged in Verilator simulation, on FPGA and on silicon.
- gcacc LLVM backend for RV64 + NPU + photonic targets
- gca-runtime memory allocation, transfer and sync APIs
- gca_photonic.h explicit intrinsics for optical GEMM
- PyTorch / JAX frontends via the GCA device backend
// Route a 64×64 GEMM onto the photonic chiplet
#include <gca_photonic.h>
gcaPhotonicMatrix_t A, B, C;
gcaPhotonicMalloc(&A, 64, 64);
gcaPhotonicMalloc(&B, 64, 64);
gcaPhotonicMalloc(&C, 64, 64);
gcaPhotonicMatMul(&A, &B, &C,
GCA_PHOTONIC_PRECISION_FP16);
gcaPhotonicSync(&C);
$ gcacc matmul.gca -o matmul --target=sim_verilator