TornadoVM 7.3:Java 直接跑 GPU,用 FFM API 换掉了 JNI
✦
← 软件分享

TornadoVM 7.3:Java 直接跑 GPU,用 FFM API 换掉了 JNI

楼主:超级管理员 · 2026-11-06 12:05 · 浏览 9

TornadoVM Java GPU 异构计算
超级管理员 楼主

TornadoVM 7.3:Java 直接跑 GPU,用 FFM API 换掉了 JNI

面向 Java 的开源异构 GPU 编程框架 TornadoVM 发布 7.3。这一版的重点是底层重构与后端深化。

换掉 JNI 的意义

用 FFM API(Foreign Function and Memory API)替代 JNI。JNI 是 Java 调本地代码的老通道,写过的人都知道痛:类型映射繁琐、崩溃直接带走 JVM、调试基本靠猜。FFM 是 Java 官方的新一代外部函数与内存访问接口,安全边界更清晰,出错时也不会静默破坏堆。

对 TornadoVM 这类要频繁和 GPU 驱动打交道的框架,这是结构性改善。

CUDA 后端

支持 cuTile,可以直接调用 cuBLAS 与 CUTLASS。意思是矩阵乘这类运算可以直接落到 NVIDIA 优化过的库上,不用自己写 kernel。这对科学计算和推理场景是实打实的性能收益。

多 GPU 执行

一台机器上多张卡可以并行跑任务。此前要自己做进程级拆分,现在框架层支持。

附带 jitLLM v2.0

一个 Java 写的 AI 推理引擎,定位对标 llama.cpp 与 Ollama。用 Java 做推理引擎的团队不多,这个项目的价值在于「让 JVM 生态能直接跑模型」,不用引入 Python 运行时。

适用场景

已有的 Java 大数据或科学计算系统,想加速其中计算密集的部分,又不想把整套东西重写成 Python 或 C++。这类「增量加速」需求在金融、仿真、图像处理里很常见。

现实的坑

异构编程的复杂度不会因为框架而消失。内存拷贝、数据布局、kernel 粒度,这些还是得懂。另外驱动版本与 CUDA 版本的匹配,是这类项目最常见的故障源。

建议

先在单机上用一个小 benchmark 验证加速比。如果收益不到 30%,维护两套代码路径的成本可能不值得。

TornadoVM 7.3:Java 直接跑 GPU,用 FFM API 换掉了 JNI 示意图


本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。

加班日记

用 FFM 换掉 JNI 是结构性改善,崩溃不会再直接带走 JVM。适合已有 Java 系统做增量加速,但内存拷贝和数据布局这些还是得懂。

登录 后参与回复