6月11日~14日に掛けて米国ワシントン州Bellevueで開催されていた2012 AMD Fusion Developers Summit(AFDS)の基調講演で、HSA Foundationが発足したことが明らかにされた話はちょろっとだけ前のレポートでも触れたが、もうすこしきちんとレポートをしたいと思う(Photo01)。

Photo01: AFDSの3日目の基調講演で"THE PROGRAMMER'S GUIDE TO A UNIVERSE OF POSSIBILITY"という講演を行うPhil Rogers氏(AMD Corporate Fellow)。氏の講演の後ろ半分がHSA Foundationに関する話。氏はまたHSA FoundationのPresidentも勤める。

HSAとはHeterogeneous System Architectureの略で、AMDが将来のAPU製品で目指す、CPUとGPUの融合した時代のアーキテクチャとして過去数年提唱しているものだ。ただAMDはこのHSAを、単に自社のAPUのためのアーキテクチャに留めずに、広く業界標準として提唱するという方法論を取った。このあたりは、x86-64の仕様を広く公開したことに良く似ている。そして実際に標準化を進めるために、新たにHSAのアーキテクチャを定める団体としてHSA Foundationを立ち上げた。今後はHSAの仕様そのものはこのHSA Foundationが定める事になり、AMDは自社のAPUをこのHSAの仕様に沿った形でインプリメントしてゆくことになる。

こうした方法論そのものはそれほど珍しくない。例えばIBMとFreescale、AMCCなどが提供しているPower/PowerPCベースのプロセッサの仕様はPower.orgが策定しているし、Oracleと富士通が製造を続けるSPARCプロセッサの仕様はSPARC Internationalが策定している。これは、同じアーキテクチャのプロセッサを普及させようと思った場合にはごく一般的な方法論である。他にもメモリであればJEDECが議論の場となるし、I/OバスならPCI ExpresssやUSB/SATAなどは、それぞれの標準化団体が仕様を策定している。面白いのは、HSAはCPUやGPUのコアそのものの標準化ではなく、このGPUやGPUをどう繋いでどうプログラミングするか、という部分に焦点を合わせたもので、その意味ではOpenCLOpenGLの策定をしているKhronos Groupの方がやや近いかもしれない。

さてそのHSA Foundationの主な活動をまとめたのがこちら(Photo02)である。あくまでもHSAはプラットフォームの定義、それとその上でのプログラミング環境の構築がメインということになる。既に、これに沿っていくつかの成果物は存在しており(Photo03)、これをベースに今後の活動を進めて行くとしている。

Photo02: この段階では、あくまでもターゲットはHeterogeneous programmingであって、潜在的にはDSPとかアクセラレータ、FPGAといった「その他のデバイス」も排除はしていない。といっても、これはまだ先の話になるのだが。

Photo03: 現時点ではBoltや開発ツールなどはまだ未公開、またHSAのArchitecture SpecificationもまだWorking draft状態でメンバー内のみでの公開となっている。