运行时扩展

kvlang 是以扩展为主的编程语言。核心刻意保持最小,能力由 runtime 扩展与 lib 提供。多个 runtime 扩展运行在同一个 kvspace 中——同一棵树里的代码、帧与值,对所有参与者可见。

runtime 把 opcode 注册到 /lib/<opcode>;lib 是一组 rwir/rwfunc 定义,layout 进同一棵树。

deepx 仓库是模型定义,不是 runtime 扩展;deepx-design 是文档。二者都不列入下表。

注册方式并不统一。 runtime-c 就是 C 核心;runtime-rs 与 deepx-cpu-compute 嵌入它并声明能力集。deepx-cpu-compute 还会把签名写入 /lib/<opcode> 供分布式调度。deepx-compute-cuda 通过自建的 TfFactory 注册 tensor 函数。Metal 的 compute / heap / io 平面与 heap-cuda 则在 Redis 任务队列上交换裸 opcode(add、load、print、save),不走 /lib 路由。

所有 deepx 扩展都将迁移为嵌入 runtime-c 核心并通过能力集/路由契约注册;迁移完成前,表中如实记录当前机制。

运行时 架构 / 系统 Lib(依赖本行 runtime) 介绍 / 备注
runtime-c linux-x86_64、darwin-arm64 — 最小核心:取指、解码、执行、控制流与 native 派发。扩展 runtime 嵌入这个核心,而不是另起一套。
runtime-rs linux-x86_64、darwin-arm64 stdlib 第一个 runtime 扩展,也是它对应的第一个 lib。嵌入 C 核心,提供 kv、xv、time、duration、string 等标准库 opcode;二进制名仍是 kvlang。
runtime-rs linux-x86_64、darwin-arm64 byteseek 第二个 lib。用 kvlang 编写的 Agent Harness,运行在 runtime-rs 上,共享同一个 kvspace。
deepx-cpu-compute linux-x86_64、linux-arm64、darwin-x86_64、darwin-arm64 — CPU op-plat:基于 OpenBLAS / Highway / OpenMP 的 tensor kernel。声明 myrwircaps = deepx/miaobyte·*(add、sub、mul、div 等),嵌入 C 核心,并把签名写入 /lib 供分布式调度。
deepx-compute-metal darwin-arm64 — Metal op-plat:在 GPU 上运行 elementwise / reduce / changeshape kernel;裸 task opcode 经 Redis 到达,不走 /lib。依赖 Metal,不依赖 CUDA。
deepx-common-metal darwin-arm64 — Metal HAL:设备检测与共享 Metal context,供其余 Metal 行使用。
deepx-heap-metal darwin-arm64 — Metal heap-plat:与 Metal 计算平面配套的 tensor 生命周期与共享内存簿记。Redis 驱动的服务,不是 kvlang 能力集。
deepx-io-metal darwin-arm64 — Metal io-plat:经 Redis 队列驱动的 load / print / save 任务。
deepx-compute-cuda linux-x86_64 + CUDA — CUDA op-plat:通过自建 TfFactory 注册 deepx/miaobyte·* tensor 函数;在 CUDA 12.8 容器中构建,CMake 目标为 sm_75。
deepx-heap-cuda CUDA(仓库未固定 OS) — CUDA heap-plat:设备 / 主机内存生命周期与同步。Redis 驱动的服务,不是 kvlang 能力集。
deepx-cuda-kernelcompiler linux-x86_64 + CUDA — GPU kernel compiler:把 kvlang tensor op 降为 TileLang kernel(AOT .so);不注册 opcode。

扩展通过注册生长,而不是改核心:新能力落在 /lib,任何 runtime 都可以提供。每个 lib 依赖同一行的 runtime 才能运行;lib 的 opcode 注册在该 runtime 的 /lib/<opcode> 下。