AMDはHPCへの将来展望を新たにする
Nicole Hemsoth

AMDは、一般的なサーバ、GPU、もちろん全体的なHPC市場において、競争相手よりもおとなしかった。しかし、ADMが終わったと言うには、まだ早いだろう。彼らのおとなしさが「嵐の前の静けさ」ならば、台風シーズンの前だろう。HPCwireは、AMD副社長兼サーバー事業部門ゼネラルマネージャーである Suresh Gopalakrishnan氏に最近(2014年2月)取材した。
前回AMDを取材したときには、HPCはビジネスの全体的な焦点の小さな部分であると伺った。その時に、AMDのTop500におけるシェアは減少していた。AMDはプロセッサー世代にまたがる45以下のシステムしか持っていなかった。そして、AMDは、HPCワークロード以外の何かに焦点を合わせているようだった。しかし、メインストリーム・サーバー市場で巨大なIntelに対して苦しい競争をし、PCは死んだと言われ、ハイエンド・コンピューティングの存在を懸けて苦闘している時に、AMDはスマートなことをした。市場の鍵となる部分に取り組むために、彼らにはまだ可能性がある。これらの領域には、ARMサーバーのエコシステムがある。さらに、今年、彼らが「Seattle」によって積極的な攻撃を仕掛けようとしている。HPCエコシステムの中で、外付けGPUのシェアが増え、Xeon Phiコプロセッサーが好まれているが、HSAを搭載するAMDのAPUは、開発者と利用者に光を当てるだろう。
訳注:HSA = Heterogeneous System Architecture、CPUとGPUを透過的に扱うオープン・スタンダードなプログラミング・モデル
これらの全てを心にとめて、 Gopalakrishnan氏はHPCwireにチャットで語った。AMDの第1世代APUは疑う余地無く、メディアとゲーム市場でのグラフィック・レンダリングを目的としており、今進み始めようとしている「Berlin」とstrong ARMがHPCへの道であり、若干の驚くべき注目点がある。
「私たちがコードネームSeattleとARMについて話し始めるときに、ハイパースケール、ストレージ、クラウドなどのアイデアから始めます。しかし、SC13において、そこで出会った多くの方からHPC環境にARMを使いたいという興味を伺い、驚かされました。」「ヨーロッパの方々と話したときに、多くの研究施設がHPCのためのARMに興味を持っていると知り、彼らの多くが私たちの評価委員会と契約しました。」
「Seattleは、評価されているサーバー向けチップ製造者から初めての、64ビットARMに基づくSoCです。Seattleは、2GHz以上で動く8から16コアのARM Cortex-A57から成り、Opteron Xシリーズ・プロセッサーと比べて2から4倍の性能と、注目すべき電力効率の向上があります。さらに、Seattleは128GBのDRAMをサポートでき、よりよい電力効率とCPU負荷低減のためのオフロード・エンジン、組み込まれた暗号機能、圧縮、統合された10GbEを含む伝統的なネットワークを持っています。これは、工場を持っていないAMDの長所であり、高密度なシステムを1個のチップに載せるAMDの統合の最初の数パーセントです。」
彼の話によると、SCやその他の場所で、彼らが部品の全てを持っていると実感した。既に存在する部品を組み立てることが問題だというのが、HPCのメッセージだ。「1:1のディスクとコアの比率、10GbEインターコネクト、PCI 3、付け加えるならば例えばInfiniband、すべてはHPCにとって良いことです。」
AMDにとってHPCの将来へのもう一つの鍵は、x86ベースのBerlinプロセッサーであり、28nm Steamrollerアーキテクチュアに基づき、将来においてHSAをサポートするグラフィックス・ユニットと統合され、GPUとCPUの透過的なメモリー・アクセスが可能になるだろう。「Berlinは、多くのグラフィック能力をもたらし、GPU側に連想キャッシュを持つHSAの最初の製品になるでしょう。」と Gopalakrishnan氏は語った。さらに、APUの潜在的な応用分野に注目しており、それには石油とガス工業(多くの石油とガス工業がCUDAを採用してから、いくらかの厳しい競争がある)、Hadoopフレームワーク、機械学習、パターン認識が含まれる。
上記のようにAMDが2014年のロードマップを示すと同時に、 Gopalakrishnan氏によれば、外付けRadeon GPUの後を追って、GPUの能力を継続的に向上させる計画がある。AMDは、開発者のエコシステムの上で、PGIなどからOpenACCをサポートする新しいコンパイラーを導入して、APUを推進している。SUSEとは、OpenMP指示行を提供するGCCについて協業している。最も重要かもしれないことは、Oracleとの協業による、GPUとCPUの両方を使うJava言語だ。
Gopalakrishnan氏によると、プログラミングを容易にするためにHSAは魅力的であるが、アクセラレーターとコプロセッサーの競争ではIntelに後れを取っている。Phiに対してどのように優位に立てるかと聞かれると、彼は、正しいタスクが正しい時点でスケジュールされるかという問題だと語った。Phiを使う場合と同様に、プログラミングがそのような水準になってしまう。「Phiはプログラミングを容易にするという課題の一部分に対処すします。あなたがCUDAもOpenCLも知らなくてかまわないということです。しかし、並列処理のためには、x86である必要もありません。Phiでは、タスクの分割について心配する必要がありますし、何かを正しい場所において、2つのシステムの間で双方向にデータを動かす必要があります。私たちは、C、Fortran、その他の高水準言語にOpenACCまたはOpenMPディレクティブを加えて、APUの上でコンパイルできます。この方法によって、開発ツールの側からスケジュールを扱え、メモリー・アクセスは移動を最低限に済ますために同じメモリー空間を使えます。」
Gopalakrishnan氏によると、同じコンセプトをJava言語にも適用し始めている。ほとんど全てのHPCアプリケーションは、C、Fortran、CUDAのどれかで書かれている。「私たちは、Oracleと何年間も協業し、APUの上でJavaを動かしつつあります。そのためのAPIを公表しました。開発者がJavaをGPUを使う出発点です。」Java 9のリリースによって、これらのAPIが網の目の一部分になる。「私たちは、プログラミングの新しい水準をもたらし、将来のHPCアプリケーションの開発者を惹きつけるものをもたらそうとしています。」
以上の話の多くは2014年の残りの間に実現されるだろうが、こう言っても過言ではないだろう。「お帰りなさい、AMD。あなたがいない間、レースは静かだった。より多くの競技者によって、レースは楽しくなるだろう。」