内容简介:Java Vector API 旨在提供一个机制用于在 Java 中编写复杂的向量(vetor)算法。 甲骨文和英特尔正在开发一种 Java API 来为平台添加对向量(vector)或单指令多数据流(SIMD)的“一级(first-class)”支持,这将会带来...
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 扩展架构。
【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上所述就是小编给大家介绍的《甲骨文和英特尔开发支持 SIMD 的 Java API 以提升性能》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 甲骨文如何杀死 Java EE
- 机器学习成为甲骨文云应用战略核心
- 甲骨文发布新一代 Oracle Exadata
- 如何看待蚂蚁金服 OceanBase “击败” 甲骨文?
- 甲骨文的企业级IaaS终于来了
- 甲骨文高管:开源供应商“从未真正开放过”
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C语言名题精选百则技巧篇
冼镜光 / 机械工业出版社 / 2005-7 / 44.00元
《C语言名题精选百则》(技巧篇)收集了100则C语言程序设计题,共分9类。第一类比较简单,主要希望读者了解到《C语言名题精选百则》(技巧篇)的题目、解法与其他书籍之间的差异;第二至六类分别是关于数字、组合数学或离散数学、查找、排序、字符串等方面的题目;第七类列出了一些不太容易归类的题目,如Buffon丢针问题、Dijkstra的三色旗问题等;第八类则收录了一些有趣的、娱乐性的题目,如魔方阵等;第九......一起来看看 《C语言名题精选百则技巧篇》 这本书的介绍吧!