TOPSoftware > JavaでSIMDをサポート、Vector APIの開発が進...

Software

JavaでSIMDをサポート、Vector APIの開発が進む

2018/08/21

Paul Krill InfoWorld

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

Credit: Nathan Dumlao / Lagarto Film / Getty Images

 このAPIのプロジェクトは、JVMとネイティブコードとの相互接続に焦点を当てた取り組み「Project Panama」の一部として、インキュベータモジュールjdk.incubator.vectorの最初のバージョンを提供することを目指している。以下のような目標を掲げ、将来的にはGraalコンパイラのサポートも計画している。

  • 多種多様なベクトル演算を明瞭かつ簡潔に表現できるAPIを提供する。
  • x64アーキテクチャーで確実な実行時コンパイルとパフォーマンスを提供する。
  • アーキテクチャーの違いを問わない。
  • グレースフルなデグレードを実現する。必要な命令を完全にはサポートしていないx64アーキテクチャーや、サポート外のCPUアーキテクチャーで、実行時にベクトル演算をハードウエア命令のシーケンスとして完全に表現できない場合でも、グレースフルなデグレードにより、動作を続けられるようにする。この時、開発者に警告が提示される可能性もある。

↑ページ先頭へ