物理仿真中层层堆叠的彩色软体字母

图形编程,人人可用

Kelvin 把普通的 Python 代码变成能在 GPU 上运行的并行 kernel。仿真、渲染与数值计算,全部跑出原生性能。

为什么选择 Kelvin

C++ 的性能,Python 的写法。

即时编译

Python 函数在运行时被编译成原生的 CPU 与 GPU kernel——不用重写代码,也没有构建步骤。

处处可运行

同一份代码自动适配 CUDA、Vulkan、Metal 以及多线程 x86 后端。

为仿真而生

空间稀疏数据结构、可微分 kernel,以及以物理为先的标准库。

原生互操作

与 NumPy、PyTorch 张量零拷贝交换数据,现有流水线无需改动。

快速上手

一行命令,立刻跑起来。

从 PyPI 安装,用 @kv.kernel 装饰一个函数,最外层的每个循环都会自动并行到你的硬件上。

pip install kelvin-lang
julia.py
import kelvin as kv

kv.init(arch=kv.gpu)

n = 320
pixels = kv.field(dtype=float, shape=(n * 2, n))

@kv.kernel
def paint(t: float):
    for i, j in pixels:              # 自动并行
        pixels[i, j] = kv.sin(i * 0.02 + t) * 0.5 + 0.5

gui = kv.GUI("Julia Set", res=(n * 2, n))
for frame in range(1_000_000):
    paint(frame * 0.03)
    gui.set_image(pixels)
    gui.show()

广泛采用,值得信赖

受到开源社区,以及学术界与工业界一线团队的信赖。

14.8k+
Star 数
来自 GitHub
500k+
累计下载
来自 PyPI
60+
活跃贡献者
来自社区
10+
合作伙伴
来自学术界与工业界

今晚就写下你的第一个 kernel。

阅读文档