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


5月 12, 2015

HSA仕様がアクセラレーター・アーキテクチュアを標準化

HPCwire Japan

Tiffany Trader

ヘテロジニアス・システム・アーキテクチュア (HSA) 財団は、ヘテロジニアス・コンピューティングの分水嶺になるだろうと知られている、HSA 1.0仕様を発表した。この新しい仕様は、3年間近くを費やし、アクレラレーター・プログラムを一旦書けば電話機からスーパーコンピューターまでのあらゆるデバイスで実行できるという、財団の目標に近づいた。

HSAの核心は、CPUとアクセラレーター (GPU、DSP) の緊密な集積化である。そこにおいて、すべての演算装置は、すべてのシステム・メモリーに完全にアクセスできる。今回の広報は、ヘテロジニアスな計算のエコ・システムを、3つの部分において成し遂げる道筋を示す。

  • HSA システム・アーキテクチュア仕様 — プラットフォームを動かすために、ハードウェアとOSの要求仕様を定義する。
  • HSA プログラマー・リファレンス・マニュアル (PRM) — ツールとコンパイラーを開発する者へのソフトウェア・エコ・システムを対象とする。
  • HSA 実行時仕様 — アプリケーションがHSAプラットフォームに関与する方法を定義する。

これらの技術が、モバイルおよびデスクトップなどの計算分野の範囲における重要な問題を解決していると同時に、HSAのマントラは、低消費電力、高性能、かつ容易にプログラムできるように、HPCのための正しい注釈する。

2015年3月16日夕方のプレス・イベントにおいて、HSA財団社長 Phil Rogers氏は、このビジョンの柱は、シングル・ソースのプログラミングであると述べた。これは、アプリケーション開発者が、CPUで動かすプログラムの開発から始めて、高速化したいルーチンごとにアクセラレーターのための別のソースを書く必要がある、デュアル・ソースのプログラミングに代わることを意味する。HSAによって、寝具縷々・ソースのプログラミングが可能になる。アプリケーション開発者は、並列化のためのアノテーションが可能な言語によって、一度だけソースを書く。すると、コンパイラーが、様々なアクセラレーターに適する複数のプログラムを生成する。

Rogers氏によると、「これは、これまでGPUを使ってきた全てのアプリケーション開発者が私たちに求めてきたもので、私たちはそれを実現しています。」

アプリケーション開発者の2つめの望みは、プログラミング言語のサポートである。このために、C++、Python、JavaScript、OpenMPは全てサポートされる。

その日に商品の発表は行われなかったが、メンバーは2015年中の最初のHSA製品出荷に向けて準備している。HSAコンフォーマンス・テストは開発中であり、2015年第2四半期にリリースされる目標である。これによって、2015年後半に発表される製品が、HSA準拠であるかどうかテストできるようになる。

HSA開発プラットフォームは、AMDから入手可能で、Kaveriに基づき、HSAのいくつかの機能をサポートしている。Carrizoによって、完全準拠になる。

HSAがどの分野に最初に進出するかについて、Rogers氏は、高機能で電力効率がよいモバイル機器、より臨場感をもたらすPC、画像処理や拡張現実のためのGPU、そしてもちろん広い範囲のHPCを、列挙した。「OpenMPとMPIは、高性能HSAノードをスケール・アウトさせるために理想です。そして、消費電力の低下によって、次の10年間に、初期のエクサ・スケール・システムが可能になるでしょう。」と付け加えた。

HPCはプレス・イベントにおいて人気がある話題であると証明され、2人の科学者がパネリストになった。ローレンス・リバモア国立研究所の David Richards氏と、サンディア国立研究所の James Ang氏である。

Richards氏は、HSA仕様を、未来へ進むためのプラットフォームと示した。彼の研究にとってどの機能が最もインパクトがあるかと聞かれ、より大きな計算能力がモデルの物理的忠実性を高め、より正確でより意味がある計算のために不確実性を定量化することと述べた。しかし、そうするためには、次のアーキテクチュアのために開発者がコードを再最適化する必要があるとも述べた。

「科学の可能な規模を減らすことについて、常にどのように妥協すべきでしょうか。」と彼は疑問を呈した。「HSAのようなよく理解されている能力のオープン・スタンダードに基づくアーキテクチュアは、私たちが未来に向かって、移植可能で性能も移植可能な (performance-portable) アプリケーションを書き始めるための基礎です。それだけではなく、私たちのレガシー・コードを新しいプラットフォームへ移植することも可能です。それらのコードは、HSAが提供する全てを利用するとは限りません。しかし、それらのコードは動きます。そして、その中から性能を上げるために最も重要な部分を見つけて、その一つずつを最適化していけばよいのです。」

もう1人のパネリストのAng氏は、GPUがコヒーレントなノード内のメモリー全体にアクセスできるようになることのインパクトを聞かれて、答えました。「DOE内で、私たちは、サポートする必要がある非常に幅広くて多様なアプリケーションの集合を持っています。そこで、いくつかのアプリケーション、例えば、シングル・フィジックスの物質科学は、あまりにも多くのメモリーを必要とするために、GPUアクセラレーターを使ってうまく動作しないことがあります。これらは、私たちの本当に困難な問題です。マルチ・フィジックスのアプリケーションは、メモリー容量によって制約されるという問題に挑戦しています。HSAによって、統合されたコヒーレントなメモリー空間への道が示され、典型的なCPUに割り当てられるよりも非常に大きいメモリー容量をGPUアクセラレーターへ割り当てる道が示されます。」

HSA財団は、GPUによる並列処理と、CPUによる逐次処理を統合することを目的に2012年6月にAMD、ARMおよび他のいくつかの企業によって始められ、DSPによる処理の最適化、広帯域メモリー・アクセス低消費電力での高性能計算に取り組んでいる。2006年にAMDがATIを買収したことに遡り、APUアーキテクチュア、典型的にはFusionを長らく擁護している。

20150317-F1-HSA-architecture-2015

1.0仕様がかろうじてドアから出たばかりであるが、財団は既に1.1仕様に前進している。デバッグおよびプロファイリング用のAPIを標準化し、同じSOCの異なる企業からの複数のIPベンダーをサポートするなど、二つの主要な目標を概説している。そのリリースは2015年末に予定されている。

Rogers氏はプレゼンテーションを次のように締めくくった。「これは、本当に電話機からスーパーコンピューターまでのすべてをスケール・アウトできるアーキテクチュアです。
各セグメントのための設計された製品、携帯電話、タブレット、PC、ワークステーション、スーパーコンピューターについて、今までとても異なっていましたが、基盤となるアーキテクチュアによって、プロセッサーが共同作業する方法、モメモリー・システムを使う方法、コンパイラーの使い方が、最終的にすべて標準化されます。」

HSA 1.0およびサポート·ドキュメントは、財団のウェブサイトで入手できる。