TOP > Software > JavaでSIMDをサポート、Vector APIの開発が進...
関連カテゴリー: Software | Hardware | Cloud | Network | Wireless | Industries
JavaでSIMDをサポート、Vector APIの開発が進む
2018/08/21
米Oracleと米Intelは、JavaでSIMD(Single Instruction, Multiple Data)のベクトル演算をサポートするための「Vector API」の開発を進めている。コードの中でベクトル演算を簡潔に表現でき、サポート対象となるCPUアーキテクチャーでの実行時に最適なハードウエア命令へのコンパイルが可能となることから、パフォーマンスを大幅に向上できる可能性がある。

このAPIのプロジェクトは、JVMとネイティブコードとの相互接続に焦点を当てた取り組み「Project Panama」の一部として、インキュベータモジュールjdk.incubator.vectorの最初のバージョンを提供することを目指している。以下のような目標を掲げ、将来的にはGraalコンパイラのサポートも計画している。
- 多種多様なベクトル演算を明瞭かつ簡潔に表現できるAPIを提供する。
- x64アーキテクチャーで確実な実行時コンパイルとパフォーマンスを提供する。
- アーキテクチャーの違いを問わない。
- グレースフルなデグレードを実現する。必要な命令を完全にはサポートしていないx64アーキテクチャーや、サポート外のCPUアーキテクチャーで、実行時にベクトル演算をハードウエア命令のシーケンスとして完全に表現できない場合でも、グレースフルなデグレードにより、動作を続けられるようにする。この時、開発者に警告が提示される可能性もある。