TornadoVM 7 Enables GPU-Native Workloads From Java Applications

TL;DR · AI 摘要
TornadoVM 7 Enables GPU-Native Workloads From Java Applications - InfoQ InfoQ Homepage News TornadoVM 7 Enables GPU-Nati...
核心要点
- 主题聚焦:TornadoVM 7 Enables GPU-Native Workloads From Ja
- 来源:InfoQ,建议结合原文判断细节。
- AI 分析暂不可用,本条为保底评分与摘要。
TornadoVM 7使Java应用能够启用GPU原生工作负载 - InfoQ
InfoQ 首页 News TornadoVM 7使Java应用能够启用GPU原生工作负载
Java
从Tokens到Features:为AI辅助工程构建成本归属架构(10月29日网络研讨会)
TornadoVM 7使Java应用能够启用GPU原生工作负载
2026年10月21日 3分钟阅读
作者:
- Ben Evans
#### 关注我们
Youtube
232K关注者
26K关注者
新
RSS
19K读者
X
57.1k关注者
21K点赞
Bluesky
收听本文 -
0:00
音频准备播放
您的浏览器不支持音频元素。
正常
1.25x
1.5x
喜欢
新下拉阅读列表
- 阅读列表
作为Java的开源异构GPU编程框架,TornadoVM已升级至7.3版本,这是项目的重要里程碑。
InfoQ此前曾在2025年12月和2022年报道过该项目。
TornadoVM能够自动加速Java程序在多核CPU和GPU上的运行。它不替代现有的JVM,而是与它们协同工作,为Java提供丰富的GPU编程生态系统,可与任何主流JDK发行版(如OpenJDK、Graalvm、Temurin或Zulu)配合使用。
它将Java代码卸载到硬件后端,在Java堆和加速器之间管理内存,并运行生成的计算内核。这使其成为现代云和机器学习工作负载的有用构建模块。
在开发过程中,TornadoVM将源Java代码编译到OpenCL和Apple Metal后端。其理念是您可以在笔记本电脑上本地开发并使用本地可用的硬件,然后部署到配备Nvidia GPU的服务器,从而实现显著的性能提升——这是现代ML工作负载的"一次编写,到处运行"形式。
7.0版本带来了多项架构改进。后端现在使用外部函数与内存(FFM)API替代Java原生接口(JNI)。实验性的JVM编译器接口(JVMCI)依赖项也已移除。据团队介绍,TornadoVM现在通过"反射+ASM+Unsafe层"获取所有编译器元数据,这是所有支持的JDK(21、25、26和27)的统一路径。
该版本还通过优化的CUDA后端深化了与Nvidia生态系统的集成。这包括对cuTile编程模型(通过新的TileContext)的支持,以及直接在TornadoVM TaskGraphs中调用CUDA库(如cuBLAS和CUTLASS)的能力。开发者可以根据性能和可移植性需求,将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 上执行。
总体而言,TornadoVM 为 Java 程序员提供了四种编程 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 Belgium 最近的视频,包括:"通过 TornadoVM 的混合 API 从 Java 访问 NVIDIA 生态系统"。
作者信息主容器
关于作者
章节标题
每个作者信息主容器
#### Ben Evans
显示更多
显示更少
#### 本内容属于 Java 主题
##### 相关主题:
- 开发
- 架构与设计
- AI、ML 与数据工程
- Llama3
- Java
- GPU
- 相关编辑内容
- 相关赞助商 AI 的物理限制:AI 如何重塑数据中心
- 相关赞助商 PostgreSQL 为时间序列规模而生 无需牺牲性能即可使用 PostgreSQL 处理海量时间序列数据。了解 Tiger Data 如何实现高速数据摄入、快速查询和可扩展存储。了解更多。
InfoQ 新闻通讯
每周五汇总 InfoQ 最新内容,每周二发送。加入超过 25 万名高级开发者的社区。查看示例
我们保护您的隐私。