Localized V2 rewrite for this language is in progress. Showing English-first content for now.

GPU 编程

Kernel 语法、`GPU` 效果,以及今天可用的部分。

GPU 编程

Sounio 的目标是把 GPU 计算作为语言的一等能力,而不是事后补丁。

在表层语法上主要体现在:

  • kernel fn ... 用于 GPU kernel
  • with GPU 用于执行 GPU 操作的 host 函数(launch、设备内存、同步等)

今天可用的部分(编译器现状)

编译器接受 kernel fn 语法,并将 kernel 作为函数进行类型检查。

例如,下面的代码是有效的,并应当能够通过类型检查:

kernel fn noop(a: &[i32]) {
    // A minimal kernel (no GPU intrinsics used).
}

fn main() with IO {
    println("GPU docs: kernel syntax parses and type-checks.")
}

规范 vs 实现

完整的 GPU 编程模型包括:

  • kernel 启动 API
  • 设备内存分配与传输
  • GPU intrinsic(线程/块 ID、同步等)

其中一些能力依赖特性开关,并且在真实硬件上执行 kernel 可能需要外部工具链(CUDA、Metal、SPIR-V)。

不确定时建议:

  • 阅读 stdlib/gpu/ 下的 stdlib GPU 模块
  • 查阅 spec/LANGUAGE_SPECIFICATION.md(GPU 章节)
  • 以编译器的测试与 fixtures 作为“今天能编译什么”的权威来源