世界のスーパーコンピュータとそれを動かす人々


8月 26, 2013

HSA財団、JavaのGPU能力の増大を目指す

HPCwire Japan

Alex Woodie

HSA財団がJava開発者のために従来の並列プログラミングツールの専門知識を必要とせずに、GPUを含む様々なプロセッサタイプで容易にプログラミング出来るよう行っている作業の結果、JavaはHPCプログラミングのための言語として推奨を得ることができた。

HSA(異種システムアーキテクチャ)財団はチップメーカーやソフトウェア会社等から構成され、クラスタと汎用サーバからPC、ゲーム機、さらにはモバイルデバイスに至るまで、一度記述すればどんなタイプのデバイスでも実行できるソフトウェアを可能とするオープンな仕様を策定するグループである。 グループの最初の目標は、GPU向けのプログラミングへの参入障壁を低くすることだが、さらにそれを超えたより広い目標を持っている。

PCWorldの記事によると、日曜日のスタンフォード大学のHot Chipsシンポジウムで、HSA財団会長、フィル・ロジャースは、HSA仕様のネイティブサポートは、2015年のJava9に含まれると述べた。

これは、並列アルゴリズムがコプロセッサやGPUの互換性を活用することによってJVMでネイティブに実行することが可能となり、コードの余分なレイヤーを必要とせずにパフォーマンスの大幅な増強を提供する、とアドバンスト・マイクロ・デバイセズのコーポレート・フェローでもあるロジャースは言った。PCWorldの記事によると「究極的には、並列加速は、Java仮想マシンに属し、かつ、願わくばそれが存在する場所である。」とロジャースは言った。

Javaに並列アクセラレーションをもたらす、進行中のOpenJDKの「プロジェクト・スマトラ」をなどを含むプロジェクトがある。このプロジェクトは、JavaアプリケーションがJava8 Lambda言語とライブラリ機能を使用してGPUと加速処理ユニット(APU)を活用できるようにすることを目指している。しかし、このアプローチは、依然として並列実行を可能にするためにコードの余分なレイヤーを必要とする; HSA財団が達成したいと考えていることとして、それはJVMネイティブではない。

GPUのプログラムを書くことは難しいことで知られており、NvidiaのCUDAやIntelのMany Integrated Core (MIC) アーキテクチャおよびXeon Phiコプロセッサで採用されているKhoronosグループのOpenCLのような専門的なツールを必要とする。 ちなみに、NVIDIAとIntelは、競合他社であるAMD、ARM、Qualcomm、Samsung、そしてTexas Instrumentsなどの小さなチップメーカーの強みを活かして設立されたHSA財団の後援者ではない。

HSA財団はすでにその最初の仕様を発行しており、今日のマルチコア時代から進化して明日の「異種システム」時代を示す完全なロードマップに取り組んでいる。

「我々は、直接シェーダを書くことから、GPUやコプロセッサの独自の言語を使うことまで行ってきました。」とロジャースはHot Chipsで語った。「しかし、究極的にHSAが目指すプラットフォームは、C++やJavaやその他多くの完全プログラミング言語にあります。」とThe Registerに彼は語っている。

GPUとCPUに対するプログラミング性の向上に加え、HSA財団は、APU、フィールド・プログラマブル・ゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)やネットワーク・プロセッサを含むコプロセッサ・タイプのホスト全体で有効な機能強化の洗い出しリストを持っている。