甲骨文和英特尔开发支持 SIMD 的 Java API 以提升性能

新闻 前端
甲骨文和英特尔正在开发一种 Java API 来为平台添加对向量(vector)或单指令多数据流(SIMD)的“一级(first-class)”支持,这将会带来巨大的性能提升。

 [[240675]]

Java Vector API 旨在提供一个机制用于在 Java 中编写复杂的向量(vetor)算法。

甲骨文和英特尔正在开发一种 Java API 来为平台添加对向量(vector)或单指令多数据流(SIMD)的“一级(first-class)”支持,这将会带来巨大的性能提升。

作为专注于互连 JVM 和原生代码的 Panama 项目的一部分,这个 API 旨在提供 incubator 模块 jdk.incubator.vector 的初始迭代,以用于表达向量计算 —— 在运行时阶段编译为所支持的 CPU 架构上的最佳硬件指令。计划支持 Graal 编译器,项目的目标包括:

  • 提供清晰简洁的 API,能够表达各种矢量计算

  • 在 x64 架构上提供可靠的运行时编译和性能

  • 兼容不同的架构

  • 优雅降级:如果矢量计算无法在运行时阶段作为序列完全表达,或者因为 x64 架构不支持某些指令,或其他 CPU 架构不被支持,那么 Vector API 的实现会优雅地降级,但仍然会起作用。开发者也会收到有关此问题的警告

如果甲骨文和英特尔能兑现这个承诺,Java Vector API 将会提供一种这样的机制 —— 利用 HotSpot 虚拟机中的现有支持进行矢量化,从而在 Java 中编写复杂的矢量算法。使用向量运算,一定程度的并行可以在单个 CPU 周期内完成更多工作。因此,可以获得显著的性能提升。API 中的用户模型(user model)将利用底层的矢量硬件,从而使得矢量化更具可预测性。

在这一方面,甲骨文和英特尔表示,该提案并未引用一个特定的 Java 版本作为 API 依赖的版本,但该项目的范围仅适用于 Java SE。另外,该项目存在一个这样的风险 —— 在 x64 架构上,API 可能会偏向于 SIMD,不过其他架构也将会被考虑在内,特别是 ARM Scalar Vector 扩展架构。

责任编辑:张燕妮 来源: Infoworld
相关推荐

2010-09-27 10:05:11

甲骨文英特尔

2011-03-10 09:20:00

甲骨文收购AMD英特尔

2014-07-22 10:05:48

英特尔甲骨文至强处理器

2011-08-09 09:46:00

处理器英特尔甲骨文

2011-11-21 09:16:33

甲骨文英特尔惠普

2013-07-24 09:54:32

甲骨文全球大会2013甲骨文

2011-10-09 11:28:55

甲骨文OpenWorldExalytics

2010-03-19 09:43:18

Java甲骨文

2021-02-18 07:23:17

CPU英特尔微软

2021-11-02 05:35:33

AI 英特尔人工智能

2012-02-13 10:25:34

Java甲骨文

2010-10-12 10:20:01

甲骨文IBM

2015-11-12 20:36:43

英特尔WebRTC

2013-02-22 15:36:06

Java甲骨文Oracle

2009-02-20 10:14:32

NehalemCore i7英特尔

2012-02-13 16:00:30

英特尔Atom

2013-09-25 15:43:52

QLogicFabricCache甲骨文

2010-08-09 16:18:15

OEPEEclipse 3.6

2009-03-30 13:43:47

多核服务器英特尔
点赞
收藏

51CTO技术栈公众号