【AFDS 12】一般プログラマにもヘテロジニアスコンピューティングをもたらすHSA
~AMD、ARM、Imagination、MediaTeK、TIが普及を目指し団体設立

AMD上席副社長兼グローバルビジネス部門 ジェネラルマネージャ リサ・スー氏

会期:6月12日~15日(現地時間)
会場:アメリカ合衆国ワシントン州ベルビュー市
   Meydenbauer Center
   Hyatt Regency Bellevue



 AMDは、ヘテロジニアスコンピューティング(CPUやGPUを組み合わせたコンピューティング技術)に関するソフトウェア開発者向けイベント「AMD Fusion Developer Summit 2012」(AFDS 12)を、米国ワシントン州ベルビューで開催している。初日となった6月12日(現地時間)には、基調講演が開催され、AMD上席副社長兼グローバルビジネス部門 ジェネラルマネージャのリサ・スー氏のオープニングスピーチから始まり、Adobe Systems上席副社長兼最高ソフトウェア責任者(CSA)トーマス・マロイ氏、AMDフェロー フィル・ロジャース氏の2人が登場し、ヘテロジニアスコンピューティングに関するさまざまな説明を行なった。

 この中でロジャース氏は、同社が提唱するHSA(Heterogeneous System Architecture)というヘテロジニアスコンピューティングアーキテクチャをオープンスタンダードとし、その普及を促進する業界団体HSA FOUNDATIONを設立したことを明らかにした。共同設立企業の中には、スマートフォン/タブレット向けCPUの命令セットとして事実上の業界標準の立場にあるARMやImagination Technologiesなどが含まれており、大きな注目を集めた。

●APUの性能向上のボトルネックは対応ソフトウェア

 AMDのリサ・スー氏は基調講演で、「現在は正に転換点にあると思う。コンピューティングは従来のクライアント中心から、モバイル機器などがクラウドを通じて相互に接続する世界へと転換を遂げている。そうした中でプロセッサの進化も変化しようとしている。従来のようなムーアの法則的な進化だけでなく、ヘテロジニアスコンピューティングが新しい進化として求められている」と、ヘテロジニアスコンピューティングが注目されていることを強調した。

 その一方でスー氏は、AMDがここ数年間にリリースしてきたGPUとAPUの歴史を振り返り「GPUは急速な勢いで進化しており、昨年の暮れにリリースしたSouthern IslandのディスクリートGPUでは3.79TFLOPSを実現した。さらに昨年(2011年)は第1世代のAPUであるLlanoをリリースし、今年は第2世代になるTrinityをリリースした。APUはトップ12のOEMメーカーのうち11のメーカーで採用されており、急速に普及しつつある」と説明。その上で「我々は皆さんの助けを必要としている。というのも、このAPUの潜在能力を引き出すソフトウェアがないことがAPUのボトルネックになっているからだ」と、APUの現在の課題を認めた。

 スー氏は「今年、APU用にリリースされたアプリケーションは昨年の2倍になった。しかし、それでもまだ十分ではなく、5倍、10倍と増やしていかなければならない」と述べ、詰めかけたソフトウェア開発者に対して、今回のAFDSでその方法を学び、対応のソフトウェアを作って欲しいと呼びかけた。

現在はクラウドにより、デバイスの位置づけも変わりつつあるGPUの性能は上がり続けている。昨年の末にには3.79TFLOPSに到達AMDはAPUとしてLlanoを昨年投入し、今年はTrinityで性能を3倍にした。来年にはKaveriを第3世代として投入予定
APUの市場は急速に成長しているAPUに最適化されたソフトウェアが必要になりつつある2012年にはAPUに最適化されたソフトウェアが2011年の倍になった

●GPGPUがメインストリームのプログラマに広がっていかない理由
Adobe Systems 上席副社長兼最高ソフトウェア責任者(CSA)トーマス・マロイ氏

 スー氏について基調講演に登場したのはAdobe Systems上席副社長兼最高ソフトウェア責任者(CSA)のトーマス・マロイ氏。マロイ氏は、Adobeに入社する前はAppleでのLisaのソフトウェア開発などでキャリアを積み、現在はAdobe Systemのソフトウェア戦略を統率するする責務を負っている。

 マロイ氏はAdobeがどのようにGPGPUの実装を行なってきたかの歴史を振り返った後で、「GPGPUによるソフトウェア開発は、我々が“忍者プログラマ”と呼んでいる一部のプログラマに受け入れられるレベルに留まっている。今後はメインストリームのプログラマにも普及させていく必要がある」と述べ、その実現には4つの課題があると解説した。

 その4つとは、

(1)プロセッサの演算能力に余剰が発生している
(2)メモリ空間がそれぞれ別に存在していること
(3)一般のプログラマにはOpenCLなどがややハードルが高いこと
(4)新しいプログラミングツールやライブラリに投資が必要であること

 マロイ氏はそれぞれ具体例を出しながら解説していった。

 同氏は、ハーバード大学のクレイトン・クリステンセン教授が作成した、顧客のニーズとコンピューターの処理能力に関して考察したグラフを出し「あるアーキテクチャの初期には顧客のニーズ遙かに下回る処理能力しか提供できないが、すぐにそれは顧客のニーズを追い越していき、逆に処理能力に余剰が発生する」と述べ、現在のCPUやGPUにはそうした余剰な処理能力が発生しているが、それらが活かされていないと指摘。

 続けてマロイ氏は、Adobeに入社した直後の1986年に担当したIllustratorのWindows版を例に挙げ「当時PCではメモリのアドレス空間に限界があり、EMSなどのメモリ空間の切り替えといったトリッキーな方法を利用してより多くのメモリを利用していた。このため、Mac版に新しい機能を実装しても、続くWindows版ではその機能を実装できない問題が発生していた。これが解決したのは1997年になってからだ」と、メモリ空間がプログラミングの障害になり得ることを説明した。

 現在、CPUとGPUはそれぞれ別のメモリ空間空間を利用しており、プログラマはそれぞれのメモリ空間の仕組み意識してプログラミングする必要があり、それが柔軟なプログラムを作る上で障害になっているのだ。

 また、マロイ氏は、現在のGPGPUのプログラミングモデルとして使われているOpenCLやNVIDIAのCUDAについて触れ、「現在のGPGPUのプログラミングモデルは専門家向けになっており、メインストリームのプログラマにはややハードルが高い」と、多くのプログラマが二の足を踏んでいる現状があると指摘した。

 マロイ氏は「こうした4つの課題を解決することが、真にヘテロジニアスコンピューティングを一般のプログラマにまで広げていくうえで必要なことだ」と述べ、HSAによりそうした課題が解決されることに期待感を表明して、講演をまとめた。

AdobeのGPGPUの実装の歴史。古くはOpenGLの利用から始まり、最新版のCS6ではOpenCLが実装されているAdobe Photoshop CS6でのOpenCLを利用したデモ。ぼかしの処理がリアルタイムで行なわれており、レンダリングの終了を待つ必要が無い同じくPremiereでOpenCLを利用したデモ。色補正をリアルタイムでプレビューしている動画に適用できる
技術のあるプログラマ(忍者プログラマ)はGPGPUの利用を進めているが、まだ一般のプログラマにまでは普及が進んでいないCPUにしろ、GPUにしろ、ユーザーのニーズと処理能力には乖離が起きていて、プロセッサパワーは余っているよりわかりやすいプログラミングを実現するために統合アドレス空間が必要となる
複雑なメモリシステムによる、プログラムの問題例としてEMSの例などが紹介されたOpenCLは忍者プログラマには優れた規格だが、一般のプログラマにはやや難しい新しいプログラムを書くには、ツールやライブラリへの投資も必要になる

●一般プログラマ向けとなるHSA
AMDフェローのフィル・ロジャース氏

 AMDフェローのフィル・ロジャース氏はマロイ氏の問題提起を受けて、そうした課題をHSAで解決していく方策に関して説明を行なった。

 ロジャース氏は昨年のAFDSで公開したHSA(昨年のAFDSではFSAと呼ばれていた)の概要に関して振り返り、HSAでは、メモリは統合メモリ空間で扱われ、CPUもGPUも同じアドレス空間で利用できるようになり、一般のプログラマもヘテロジニアスなソフトウェアを容易に作ることができるようになるとした。

 HSAが適用可能な範囲としてロジャース氏は、ジェスチャーなどのナチュラルUI、生体認証、コンテンツ配信、HD解像度以上のコンテンツ、AVコンテンツの管理などを挙げた。

 また、HSAの具体的な利用方法についてJavaアプリケーションへの実装を例にとって解説した。JavaのアプリケーションからGPUを利用するには、AMDがJavaの拡張として用意しているAparapiというAPIを利用する。現状ではAparapiからOpenCLを経由しているが、将来的にはこれをHSAに置き換え、さらにHSAとJVMの間にランタイムを挟む形にし、HSAの機能そのものをJVMに埋め込むことも考えられるという。AMDは昨年のAFDSではHSAの具体的な実装に関しては明確にしなかったが、今回はそのあたりが判明してきた。

 さらに、ロジャース氏はHSAをさらに活用するためのライブラリとして「HSA Bolt」というライブラリを導入することを明らかにした。このライブラリを利用することで、プログラマがヘテロジニアスコンピューティングに対応したアプリケーションを作ることが容易になるという。HSA Boltを利用すれば、現在のアプリケーションと同じようなコードで、ヘテロジニアスコンピューティングを実装でき、OpenCLを利用した場合に比べてコーディングの量も減るという。

昨年も示されたHSAのロードマップ。現在のTrinityでは第2段階で、2013年のKaveriでは統合メモリ空間などが実現することになるHSAを利用すると、一般のプログラマでもヘテロジニアスコンピューティングに対応したソフトウェアを手軽に作ることができるようになるAdobeのマロイ氏が指摘した問題HSAで解決することができる
HSAが適用可能なアプリケーションの例CPUに加えてGPUを利用することで、性能は2.5倍になるが、消費電力は2/5になるというJavaにおけるHSAの実装。最終的にはJVM自体にHSAを実装してしまう
プログラマをサポートするライブラリとしてHSA BoltをリリースHSAの仕組み
HSAでAMD特別となるのはGPUのドライバ部分だけで、他のベンダーもHSAの仕組みを活用であるHSA Boltを利用すると、従来の一般的なアプリケーションと同じようなコード数でCPUとGPUの両方を使うアプリケーションを書くことができる

●ARM、Imagination、MediaTek、TIも参加してHSA FOUNDATIONを設立

 ロジャース氏は、HSAをAMDだけの規格にするつもりは毛頭なく、CPUやGPUドライバに限らず、HSAを利用するために必要な仕様やライブラリなどもすべて公開すると宣言。そして、AMDおよびパートナー企業で、非営利団体のHSA FOUNDATIONを設立したことを明らかにした。

 AMDはHSAのドラフト規格やHSA BoltなどのライブラリといったHSAのすべてをHSA FOUNDATIONに寄贈し、他のベンダもHSAに参画しやすくなることを狙う。

 ロジャース氏自身、HSA FOUNDATIONの代表に就任するが、同団体のファウンダーとして参画する企業も紹介した。

 ファウンダーとなるのはAMD自身のほか、ARM、Imagination Technologies、MediaTek、Texas Instruments(TI)の5社だ。

 今回ファウンダーとなったいずれの企業も、スマートフォンやタブレット市場では重要なプレイヤーだ。そうした企業がHSA FOUNDATIONの旗振り役として加わったことは、HSAがその世界で事実上の標準となる可能性が高く、HSAの普及に大きな弾みがつくことになりそうだ。

 ただし、PCの世界では依然としてAMDは少数派である。そうした意味では、64bitの時にAMD64がx64として標準として決まった前例のように、鍵を握るのはMicrosoftということになるだろう。現時点ではMicrosoftがどのような選択をするのかは明らかになっていないが、AFDSでは6月13日(現地時間)にMicrosoftの基調講演が予定されており、そちらから目が離せない。

非営利団体として設立されるHSA FOUNDATION。フィル・ロジャース氏が代表を務めるHSA FOUNDATIONはオープンスタンダードとしてHSAの普及を目指すHSAのこれまでの成果はHSA FOUNDATIONへ寄贈される
HSA FOUNDATIONのファウンダーとしてARM、Imagination Technologies、MediaTek、TIが名前を連ねるARM副社長兼フェローのジェム・ディビス氏(右)AFDSのステージに上がったHSA FOUNDATIONのファウンダー企業各社の代表者。左からARM、Imagination Technologies、MediaTek、TI、AMD

(2012年 6月 13日)

[Reported by 笠原 一輝]