TornadoVM 7 使 Java 应用能够运行 GPU 原生工作负载
TornadoVM 7 让 Java 应用能够运行 GPU 原生工作负载
2026 年 10 月 21 日 · 3 分钟阅读 · 作者:Ben Evans
TornadoVM 是一个面向 Java 的开源异构 GPU 编程框架,现已达到 7.3 版本,这是该项目的一个重要里程碑。InfoQ 此前曾在 2025 年 12 月 和 2022 年 报道过该项目。
TornadoVM 会自动加速多核 CPU 和 GPU 上的 Java 程序。它不会取代现有 JVM,而是与它们协同工作,并在 Java 中提供丰富的 GPU 编程生态,可与 OpenJDK、GraalVM、Temurin 或 Zulu 等任何主流 JDK 发行版配合使用。它将 Java 代码卸载到硬件后端,管理 Java 堆与加速器之间的内存,并运行生成的计算内核。这使其成为现代云和机器学习工作负载的有用基础组件。
在开发阶段,TornadoVM 会将 Java 源代码编译到 OpenCL 和 Apple Metal 后端。其理念是:你可以在笔记本电脑上本地开发并使用本地可用硬件,然后部署到配备 NVIDIA GPU 的服务器上,从而获得显著的性能提升——这相当于面向现代机器学习工作负载的“一次编写,随处运行”。
版本 7 带来了多项架构变更。各后端现在使用外部函数与内存(FFM)API 取代 Java 本地接口(JNI)。实验性的 JVM 编译器接口(JVMCI)依赖也已被移除。据团队介绍,TornadoVM 现在通过“反射 + ASM + Unsafe 层”获取“所有编译器元数据”,这是在每个受支持的 JDK(21、25、26 和 27)上唯一且统一的路径。
该版本还通过优化的 CUDA 后端加深了与 NVIDIA 生态的集成。这包括支持 cuTile 编程模型(通过新的 TileContext),以及能够直接从 TornadoVM 任务图(TaskGraphs) 中调用 cuBLAS 和 CUTLASS 等 CUDA 库。开发者可以根据性能和可移植性需求,将 JIT 生成的内核替换为 CUDA 库调用,或将两者串联起来。同样,TornadoVM 还通过混合 API 为 Apple 的 MXL 库添加了相同的功能。最后,还新增了对多 GPU 执行的支持。
并非所有 Java 计算都能从卸载中获益。最合适的候选是数据并行工作负载,例如迭代之间没有依赖关系的循环,因为这些迭代可以在加速器上并行运行。近期 TornadoVM 版本的目标之一是提供一个符合 JVM 使用习惯的环境,以访问 NVIDIA 针对不同硬件平台调优的库。其目标是让 Java 开发者能够使用线性代数、快速傅里叶变换(用于信号分析)、深度神经网络以及针对稀疏矩阵手工优化的矩阵乘法等功能。
TornadoVM 已与 Quarkus、Lang4j、Flink、Spring AI 等库集成,也可通过 SDKMan 获取。例如,以 Apache Flink 与 TornadoVM 的集成为例:核心思路是开发者像平常使用 Table API 一样编写标准查询。通过一个配置标志来指示该查询可能需要在 GPU 上加速。随后,当计算到达任务管理器时,框架会检查其执行所在节点是否有可用的 GPU;如果有,就连接到库提供程序——该程序会分析查询的中间表示(IR),以判断该计算是否真正适合在 GPU 上执行。
总的来说,作为 Java 程序员,TornadoVM 提供了四种为 NVIDIA GPU 编程的方式——首先是并行 API,它实际上只是一个用于标注循环的注解,并向编译器提示该循环可能可以并行化。从长期来看,这个简单的 API 不足以让生产应用获得理想性能,因此又增加了其他 API——例如内核上下文 API 以及前面提到的 TileContext。
在发布 7.3 版本的同时,TornadoVM 团队还推出了 jitLLM v2.0,这是基于 TornadoVM 构建的下一代 Java AI 推理引擎。团队将 jitLLM 定位为在性能上可与 llama.cpp 和 Ollama 直接竞争的方案,并以单个 JAR 文件的形式发布。TornadoVM 和 jitLLM 都正通过 Beestream.ai 进行商业化,这是由 TornadoVM 团队创立的衍生公司。更多细节可在 TornadoVM 网站上找到,也可在比利时 Devoxx 近期的视频中了解,包括《使用 TornadoVM 的混合 API 从 Java 接入 NVIDIA 生态》。
关于作者
Ben Evans 是 Red Hat 的资深首席软件工程师。此前,他曾担任 New Relic 的插桩(Instrumentation)首席架构师。他还共同创立了 JVM 性能优化公司 jClarity(该公司于 2019 年被 Microsoft 收购)。他曾是 JCP 执行委员会成员,并帮助定义 Java 生态标准长达 6 年。Ben 是 Java Champion;曾三次获得 JavaOne Rockstar Speaker 称号;著有《Optimizing Java》、新版《Java in a Nutshell》以及《The Well-Grounded Java Developer》。他经常就 Java 平台、性能、架构、并发、初创公司及相关主题发表演讲。显示更多 显示更少
此内容属于 Java 主题
关注主题
相关主题:
- 开发 — 关注者:4174 — 关注主题
- 架构与设计 — 关注者:10425 — 关注主题
- 人工智能、机器学习与数据工程 — 关注者:6138 — 关注主题
- Java — 关注者:4965 — 关注主题
- Llama3 — 关注者:0 — 关注主题
- GPU — 关注者:7 — 关注主题
相关编辑内容
- TornadoVM 2.0 为 Java 带来自动 GPU 加速和 LLM 支持
- Java 新闻汇总:JDK 28 的 JEP、Azul、Payara、Gatherers4j、Google ADK、Yupiik、Apache Camel CVE
- Java 新闻汇总:Grails 8、Open Liberty、GlassFish、Infinispan、LangChain4j、Spock
- Java 新闻汇总:JobRunr 9、OpenXava 8、Quarkus、LangChain4j、JNoSQL、推出 Lathe
- Java 新闻汇总:TornadoVM 7.0、Groovy 6.0、GraalVM、Hibernate、Quarkus、Gradle、Maven
相关赞助商
- AI 的物理约束:AI 如何重塑数据中心
- 面向工程领导者的 AI 实战手册:从 AI 实验到生产系统
- 实用智能体编码实战手册
- 生产环境中的 AI 智能体:超越演示需要什么
- 摩根士丹利如何通过自动化重构扩展软件现代化
相关赞助商
为时序规模打造的 PostgreSQL
使用 PostgreSQL 处理海量时序数据,同时不牺牲性能。了解 Tiger Data 如何实现高速摄取、快速查询和可扩展存储。
了解更多。
相关内容
- Java 新闻汇总:JDK 28 的 JEP、Azul、Payara、Gatherers4j、Google ADK、Yupiik、Apache Camel CVE — 2026年10月19日
- Java 新闻汇总:Grails 8、Open Liberty、GlassFish、Infinispan、LangChain4j、Spock — 2026年10月12日
- Java 新闻汇总:JobRunr 9、OpenXava 8、Quarkus、LangChain4j、JNoSQL、推出 Lathe — 2026年10月5日
- Kubernetes 团队获得更安全的方式查看自己的 GPU 指标 — 2026年9月29日
- Java 新闻汇总:TornadoVM 7.0、Groovy 6.0、GraalVM、Hibernate、Quarkus、Gradle、Maven — 2026年9月28日
- GPU 爆炸与 AI 基础设施挑战 — 2026年10月16日
- Java 新闻汇总:JDK 27、Open J Proxy、A2A Jakarta、Azul、Payara、BoxLang、Netflix ja — 2026年9月21日
- 从 S3 到 GPU 一次拷贝:重新思考机器学习训练的数据加载 — 2026年9月4日
- JDK 24 之后的虚拟线程:生产级 Java 发生了什么变化 — 2026年7月31日
相关赞助商
-
你的 PostgreSQL 试点今天很快。但当数千个传感器变成数十亿行时会发生什么?了解如何定义性能限制、预测存储成本,并为生产 IIoT 工作负载选择扩展策略。
-
停止 PostgreSQL 优化跑步机。了解为什么索引、调优、分区和副本会带来递减回报——以及 MVCC、行存储和 WAL 如何为高频时序工作负载造成架构限制。
-
赞助商:Tiger Data
相关内容
- 扩展基于 Java 的实时系统:事件驱动设计的隐藏权衡 — 2026年6月30日
- AWS 上无服务器 Java 的实用性能调优 — 2026年6月15日
- Java 世界中的 MCP:为 LLM 集成带来架构策略 — 2026年4月27日
- GPU 集群混沌工程 — 2026年7月10日
- GPU 工作负载的实时与批处理 — 2026年5月26日
- JEP 543 在 JDK 28 中最终确定结构化并发,结束七轮预览 — 2026年10月19日
InfoQ 新闻通讯
每周二发送的 InfoQ 上周内容汇总。加入超过 250,000 名资深开发者社区。
输入您的电子邮件地址
选择您的国家/地区
- 我同意 InfoQ.com 按照本隐私声明所述处理我的数据。
InfoQ 新闻通讯
每周二发送的 InfoQ 上周内容汇总。加入超过 250,000 名资深开发者社区。
- 快速了解各种创新者和早期采用者技术发布的内容
- 了解你不知道自己不知道的东西
- 及时获取你感兴趣主题的最新信息
输入您的电子邮件地址
选择您的国家/地区
- 我同意 InfoQ.com 按照本隐私声明所述处理我的数据。
正在构建生产级 AI 系统?
用资深实践者在生产环境中运行智能体、评估、模型服务和 AI 辅助工程时的决策与权衡来检验你的方法。了解哪些做法有效、哪些失败,以及他们会如何改进。把这些经验带回团队,以做出更明智的架构和交付决策。立即注册:QCon AI 纽约 · 2026年12月15–16日
首页 · 创建账户 · 登录 · QCon 会议 · 活动 · 为 InfoQ 撰稿 · InfoQ 编辑 · 关于 InfoQ · 关于 C4Media · 媒体资料包 · InfoQ 开发者营销博客 · 多元化
活动
- 在线 InfoQ AI 安全与隐私工程项目 — 2026年10月26日
- 在线 InfoQ AI 工程认证 — 2026年11月12日
- 在线 InfoQ AI 工程认证 — 2026年11月13日
- 在线 InfoQ 高效团队认证 — 2026年11月17日
- QCon 旧金山 — 2026年11月16–20日
- QCon AI 纽约 — 2026年12月15–16日
- 在线 InfoQ AI 工程认证 — 2027年1月9日
- 在线 InfoQ 架构师认证 — 2027年1月22日
- QCon 伦敦 2027 — 2027年4月13–16日
- QCon AI 波士顿 — 2027年7月8–9日
关注我们
YouTube 23.2万关注者 · LinkedIn 2.6万关注者 · Instagram 新 · RSS 1.9万读者 · X 5.71万关注者 · Facebook 2.1万点赞 · Bluesky 新
掌握最新动态
[LOADING...]
[LOADING...]
[LOADING...]
一般反馈:feedback@infoq.com
广告:sales@infoq.com
编辑:editors@infoq.com
营销:marketing@infoq.com
InfoQ.com 及所有内容版权 © 2006-2026 C4Media Inc. 隐私声明、条款和条件、Cookie 政策、Cookie 设置 关闭 BT