後藤弘茂のWeekly海外ニュース
AMDなどがHSAのアップデートをHot Chipsで行なう
(2013/8/26 12:30)
HSA Foundationのメンバーがチュートリアルを開催
AMDは、GPUなどCPU以外のプロセッサを混在させる、HSA(Heterogeneous System Architecture)のフレームワークを推進している。HSA構想は、パートナー企業を得て「HSA Foundation」を2012年6月から結成し、HSAの各種規格の策定を進めている。HSA Foundationは、今週、米スタンフォードで開催されているチップカンファレンス「Hot Chips 25」(8月25~27日、現地時間)において、HSAの概要についてのチュートリアルセッションを行なった。
HSA Foundationには、現在、ファウンダとしてAMD以外に、ARM、Imagination Technologies、MediaTek、Qualcomm、Samsung、Texas Instrumentsが加わっている。その他の顔ぶれを見ても分かるように、モバイルSoC(System on a Chip)またはモバイルにIPを提供しているベンダーが主流となっている。
HSAについての解説は、Hot Chips初日のチュートリアルデイの午前中を使い、行なわれた。HSA FoundationのプレジデントのPhil Rogers氏(AMD Corporate Fellow)は、HSAの進展について説明。高性能なCPUとGPUを載せたSoCデバイスが急速に増えていることで、オープンプラットフォームのHSAが、CPUとGPUの両方を活かすフレームワークになることを強調した。
HSAでは、従来のデバイスドライバベースのGPUなどのソフトウェア階層モデルに対して、新しいソフトウェア階層を提供する。例えば、GPUのグラフィックスドライバの階層と併存する形で、HSAのソフトウェア階層が提供される。HSAでは、このソフトウェアスタックを実現するため、バーチャルISA(Instruction Set Architecture)、メモリモデル、キューイングモデルなどを定義し、各HSAサポートベンダーが実装する。
LLVMベースになったHSAのコンパイラスタック
重要なポイントの1つは、複数のプロセッサメーカー間で、バーチャルISAを統合すること。GPUなどの実行モデルは、CPUのようにネイティブISAを露出させるのではない。ランタイムコンパイラがバーチャルISAから、GPU固有のネイティブISAへと変換する。HSAモデルでは、このバーチャルISAを「HSAIL(HSA Intermediate Language)」に統一する。つまり、HSAILをネイティブISAにコンパイルするためのランタイムをシステムに走らせる。これによって、異なるメーカーの異なるアーキテクチャのプロセッサ(例えば、AMDのGPUとARMのGPU)の間で、バーチャルISAレベルでの互換性を実現することができる。
Hot Chipsのチュートリアルでは、Ben Sander氏(AMD Senior Fellow)のセッションの中で、上位言語からGPUへのコンパイレーションのスタックが、大きく2つに分かれることが示された。下の図の、2つの赤とグレーの階層のうち、右側がシステム側の「Finalizer Flow」で、中間言語のHSAILをハードウェア固有のISAに変換する。左側が上流の「High-Level Compiler Flow」で、OpenCLのような上位の言語からHSAILバイナリを生成するまでを行なう。
一見して分かるように、左のスタックは、LLVM (Low-Level Virtual Machine)インフラストラクチャを活かす階層構造となっている。LLVMは、多種の言語を多様なハードウェアに適用できる、共通のコンパイラインフラストラクチャを作り上げつつあるプロジェクトだ。
図の中の「SPIR」は、OpenCLをLLVMに落とし込むためにKhronos Groupによって作られた「OpenCL Standard Portable Intermediate Representation(SPIR)」だ。つまり、コンパイラスタックの中に、HSAのために作られた中間言語が2層挟まっている。AMDがHSAの概要を発表した段階では、左側の上流のスタックは、LLVMに完全に依るものではなかったが、現在はLLVMベースとなっている。つまり、LLVMインフラストラクチャを使うことで、対応言語を広げようとする戦略が、より鮮明になっている。逆の見方をすれば、LLVMの重要性がますます高まっている。ちなみに、NVIDIAもCUDAをLLVMへと移行している。
Java Virtual MachineにHSAを統合
HSAのモデルは、一見して分かるように、ランタイムコンパイラベースの言語と相性がいい。そのため、Java Virtual Machine(Java VM)もHSAに取り込もうとAMDは取り組んでいる。AMDとOracleは、オープンソースプロジェクトとして「Sumatra」を進めており、2015年のJava 9をターゲットにしようとしている。JavaのHSAへの取り込みでは、第1段階として「Aparapi」と呼ばれるAPIを定義、OpenCLへの橋渡しとした。これを、HSAILを生成してHSAファイナライザに落とし込むようにし、さらに、最終的にはJava VM自身でHSAILを生成できるようにする。
HSAIL自体は、RISC(Reduced Instruction Set Computer)プロセッサのISAに類似しており、オペコードは136(HSAIL発表時には120)。レジスタモデルは32/64/128-bit SIMD(Single Instruction, Multiple Data)の3タイプで、このほかにコントロールレジスタがある。汎用の3種のレジスタで単一のレジスタプール(32-bit×128相当)を共有する。バーチャルISAに128-bitパックドがあるため、4-way SIMD型のGPUもカバーできる。ファイナライザは単純にHSAILのレジスタをハードウェアネイティブのレジスタにマッピングする。上位言語からのレジスタのアロケーションは上位のコンパイラ層で行なう。
HSAでの実行モデルは、SIMT(Single Instruction, Multiple Thread)型のモデルで、ハードウェア側はSIMDでプレディケーションを行なうことを想定している。ちなみに、HSA Foundationに加わっている他社のGPUには、ARM MaliやImagination Technologies PowerVR Series5のように、プレディケーションは行なわないものもある。しかし、これらのアーキテクチャは、個々の4-way SIMD毎に個別のプログラムカウンタを持つためSIMTモデルで問題は生じない。
※PDF版はこちら
HSAのメモリモデルとキューイング
Hot Chipsのチュートリアルでは、このほかにHSAのメモリモデルとキューイングモデルについても解説が行なわれた。メモリモデルはQualcommが、キューイングについてはARMが解説を担当した。HSA Foundationのメンバーで分担することで、AMDの独自ソリューションという色彩を弱めていた。
HSAのメモリモデルでは、従来はCPUとGPUの間で分断されていたバーチャルメモリアドレス空間を統合化することを前提としている。それによって、CPUとGPUそれぞれのメモリ空間の間での無駄なデータコピーをなくし、ポインタをCPUとGPUで共有できるようにする。HSAでは、32-bitシステムは当然32-bit、64-bitシステムでは最小で48-bitのバーチャルアドレッシングのサポートが決められている。
HSAモデルでは、CPUとGPUの間で、バーチャルメモリアドレスを共有し、メモリコヒーレンシを取ることで、CPUとGPUの間のムダで明示的なデータの移動をなくす。また、HSAエージェント間のコミュニケーションを行なうシグナリングと、HSAのジョブキューイングも定義した。
それによって、現在、非常に複雑でレイテンシが長い、GPUへのジョブの割り当てとその結果の受け取りを、簡略でレイテンシが短いソフトウェア構造にする。下の図のように、メモリコピーやバッファの転送、ジョブのスケジュールなどを全てバイパスして、ジョブキューに登録するだけで、GPUで実行できるようにする。
楽天市場 売れ筋ランキング
Amazon売れ筋ランキング
Anker Soundcore Life P2 Mini【完全ワイヤレスイヤホン / Bluetooth5.3対応 / IPX5防水規格 / 最大32時間音楽再生 / 専用アプリ対応】ブラック
¥4,490
Anker Soundcore P40i (Bluetooth 5.3) 【完全ワイヤレスイヤホン/ウルトラノイズキャンセリング 2.0 / マルチポイント接続 / 最大60時間再生 / PSE技術基準適合】ブラック
¥7,990
イヤホン bluetooth ワイヤレスイヤホン 48時間の再生時間 重低音 LEDディスプレイ表示 小型/軽量 IPX7防水 ブルートゥース 接続瞬時 Hi-Fi ブルートゥースイヤホン Type-C 急速充電 ぶるーとぅーすイヤホン iPhone/Android/Pad適用 スポーツ/通勤/通学/WEB会議 (ホワイト)
¥39,999
【VGP 2025 金賞】EarFun Air Pro 4 ワイヤレスイヤホン Bluetooth 5.4/50dBアダプティブ式 ハイブリッドANC/最先端チップ「QCC3091」aptX Losslessに対応/ハイレゾ LDAC対応/Snapdragon Sound™ に対応/Auracast™に対応/52時間連続再生【6マイクAI 通話/PSE認証済み】 装着検出機能 (ブラック)
¥9,990
EarPods with 3.5 mm Headphone Plug
¥2,668
by Amazon 炭酸水 ラベルレス 500ml ×24本 強炭酸水 ペットボトル 500ミリリットル (Smart Basic)
¥1,409
by Amazon 天然水 ラベルレス 500ml ×24本 富士山の天然水 バナジウム含有 水 ミネラルウォーター ペットボトル 静岡県産 500ミリリットル (Smart Basic)
¥1,173
コカ・コーラ い・ろ・は・す天然水ラベルレス 560ml ×24本
¥2,131
キリン 自然が磨いた天然水 ラベルレス 水 2リットル 9本 国産 天然水 ミネラルウォーター ペットボトル 軟水
¥2,722
い・ろ・は・すラベルレス 2LPET ×8本 【Amazon.co.jp限定】
¥1,168
葬送のフリーレン(14) (少年サンデーコミックス)
¥583
薬屋のひとりごと 15巻 (デジタル版ビッグガンガンコミックス)
¥770
無職転生 ~異世界行ったら本気だす~ 22 (MFコミックス フラッパーシリーズ)
¥733
ブルーロック(33) (週刊少年マガジンコミックス)
¥594
黄泉のツガイ 9巻 (デジタル版ガンガンコミックス)
¥590