百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
T

TornadoVM

> 编程语言
开源

编写 Java。在 GPU 上运行。速度快。

1.5K stars0 点赞1 次浏览
访问官网GitHub

工具介绍

编写 Java。在 GPU 上运行。速度快。


编写 Java。在 GPU 上运行。速度快。

TornadoVM 是一个适用于 Java 的 GPU 编程框架,可与 JDK 21+ 兼容(目前为 JDK 21、JDK 25、JDK 26 和 JDK 27)。它在运行时将 Java 字节码 JIT 编译为 NVIDIA CUDA、OpenCL C 和 Apple Metal (MSL),因此您现有的 Java 代码可在 **NVIDIA GPU(通过 CUDA)、AMD、Intel 和 Apple Silicon GPU、集成 GPU 以及多核 CPU 上运行。在 NVIDIA 硬件上,它还提供了更多功能:除了生成 CUDA 之外,TornadoVM 现在还直接调用 **NVIDIA 库生态系统 — cuBLAS、cuFFT、cuDNN — 并从纯 Java 中暴露了 Tensor Core mma.sync 指令。不需要 CUDA C。不需要维护 JNI 绑定。应用程序中不需要本机工具链。 最新版本: TornadoVM 6.1.0 (JDK 21 - JDK 27) — 本机 NVIDIA 库集成 (cuBLAS / cuFFT / cuDNN) 和 Tensor Core 内核,以及 Apple Silicon 的本机 Apple Metal 后端。变更记录 · 网站 · 文档


这就是整个编程模型

使用与在 CUDA 中使用相同的线程索引模型在 Java 中编写内核 - 然后构建任务图并执行。TornadoVM 在运行时将字节码 JIT 编译为 GPU 内核,并为您管理所有主机 ↔ 设备的数据传输。在 NVIDIA GPU 上,该内核会以 CUDA PTX 格式输出,并通过 NVRTC 编译为原生 cubin。

Java + TornadoVM (内核 API) 同一个内核在 CUDA C 中
```java void mxv(KernelContext ctx, FloatArray m, FloatArray v, FloatArray out, int rows, int cols) { int i = ctx.globalIdx; if (i < rows) { float sum = 0f; for (int j=0; j// TornadoVM auto-manages device // memory + kernel dispatch via a // TaskGraph — no host plumbing, // runs unchanged on all 4 backends.

</td>
<td>
```c
__global__ void mxv(
const float *m,
const float *v,
float *out,
int rows, int cols) {
int i = blockIdx.x * blockDim.x
+ threadIdx.x;
if (i < rows) {
浮动 su

Issues· 97 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

Javaaicudacuda-programminggpu-acceleration

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言