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

栏目: 数据库 · Oracle · 发布时间: 5年前

内容简介:Java Vector API 旨在提供一个机制用于在 Java 中编写复杂的向量(vetor)算法。甲骨文和英特尔正在开发一种 Java API 来为平台添加对向量(vector)或作为专注于互连 JVM 和原生代码的

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 编译:开源中国


以上所述就是小编给大家介绍的《甲骨文和英特尔开发支持 SIMD 的 Java API 以提升性能》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Dive Into Python 3

Dive Into Python 3

Mark Pilgrim / Apress / 2009-11-6 / USD 44.99

Mark Pilgrim's Dive Into Python 3 is a hands-on guide to Python 3 (the latest version of the Python language) and its differences from Python 2. As in the original book, Dive Into Python, each chapter......一起来看看 《Dive Into Python 3》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具