今週、異機種混合プロセッサを最大限に活用できるように開発者を支援する取り組みが少しずつ前進し、スマートフォンから高性能コンピュータに至るまでのアプリケーションのパフォーマンス向上と消費電力の削減が約束されている。
iPhone に使用されている PowerVR グラフィック チップや MIPS CPU を設計している Imagination Technologies は、Heterogeneous Systems Architecture と呼ばれる一連の仕様に準拠した最初の製品を来年リリースすると発表した。
チップメーカーのARMとMediaTekもHSA製品の開発に取り組んでいると発表したが、具体的な時期は明らかにしなかった。両社は、今年初めにHSA準拠の最初の製品であるCarrizoプロセッサをリリースしたAMDに加わることになる。

HSA財団メンバー
イマジネーションのMIPS事業部長ジム・ニコラス氏は、今週シリコンバレーで開催されたリンリー・グループ・プロセッサ・カンファレンスで、HSAにより、CPU、GPU、DSP(デジタル信号プロセッサ)など、現代のSOC(システム・オン・チップ)の多数のコンピューティング要素を活用できるプログラムを開発者がより簡単に書けるようになると述べた。
例えば、GPUは、分割して並列処理できるワークロードではCPUよりも電力効率が高いことがよくあります。例としては、スマートフォンの画像にフィルターを適用したりノイズを低減したりする処理や、顔認識や物体認識などのアプリケーションが挙げられます。
しかし、開発者はGPUコンピューティングの利点を理解し始めているものの、それを容易にする標準的なプログラミングモデルは存在しません。HSAは、まさにこの問題の解決を目指しています。
「問題は、GPUやアクセラレータを使って計算を行う場合、つまりCPU以外を使用する場合、プログラミングが非常に難しいことです」と、ムーア・インサイツ&ストラテジーの主席アナリスト、パトリック・ムーアヘッド氏は語る。
アップルやフェイスブックのような大企業には、そうした仕事のやり方を知っている「忍者プログラマー」がいるが、ほとんどの企業にはいない、と彼は語った。
問題の大きな部分は、SOCの異なる部分がどのようにメモリにアクセスし、共有するかを理解することです。開発者がメモリサブシステムのマッピング方法を理解していない場合、同じデータをチップ上の複数の場所に保存することになります。
「現在、タスクはCPUとGPU間で移行できますが、データセットのコピーに伴うオーバーヘッドが発生します。HSAでは、データセットのコピーが不要になります」と、イマジネーションのテクノロジーコミュニケーションディレクター、ジェン・バーニエ=サンタリーニ氏は述べています。
HSA仕様に基づいて製造されたチップでは、「GPUとCPUは同じメモリマップを使用し、データセット全体をコピーするのではなく、データへのポインタを渡すことができるようになります。これにより効率が向上し、データ移動が削減され、最終的にはパフォーマンスの向上と消費電力の削減につながります」と彼女は述べた。
これを実現するために、チップメーカーは仕様に準拠した製品を設計する必要があり、今週の発表が重要なのはそのためです。
イマジネーション社は、最終的には同社のPowerVR GPUすべてと、IクラスおよびPクラスのMIPS CPUでHSAをサポートする予定だと述べています。また、SOCコンポーネントを相互接続するためのHSA準拠ファブリックも提供する予定です。

イマジネーションの「スマートビジョン」プラットフォームはHSAに準拠します
恩恵を受けるのはモバイル機器だけではありません。HSA Foundationのマネージングディレクターも務めるAMDのグレッグ・ストーナー氏は、医薬品や疾患の研究のためのHPCアプリケーションやディープラーニングアプリケーションもHSAの恩恵を受けると述べています。
同氏は、目標はプログラマーがPython、C++、OpenCLなどの好みの言語を引き続き使用できるようにすることだと述べた。
一つのハードルは、オペレーティングシステムにおけるHSAのサポートだ。LinuxカーネルはすでにHSAの一部機能をサポートしているが、AndroidやWindowsなど他のプラットフォームではまだ対応が必要だとムーアヘッド氏は述べた。