Heterogeneous System Architecture
ヘテロジニアス・システム・アーキテクチャ(英語: Heterogeneous System Architecture, HSA)は、共有メモリとタスクを使用して、同じバス上にCPUとGPUを統合できるようにするベンダー非依存 (cross-vendor) の仕様セット。
HSAは、HSA Foundationによって開発されている。HSA FoundationにはAMDとARMを始めとして、他にも多数の企業や組織が参加している。このプラットフォームの目標は、CPU、GPU、およびその他のコンピューティングデバイス間の通信遅延(レイテンシ)を削減し、プログラマーの観点からこれらのさまざまなデバイスの互換性を高めることである。また、HSAによってプログラマーは、物理的に分離されたデバイスメモリ間のデータの移動を計画するタスクから解放される(これは現在OpenCLやCUDAを用いて実行されなければならない類のものである)。
CUDAとOpenCL、およびその他のほとんどのかなり高度なプログラミング言語は、HSAを使用することで実行パフォーマンスを向上させることができる。ヘテロジニアス・コンピューティングは、タブレット、スマートフォン、その他のモバイルデバイス、ビデオゲームコンソールなどのSoCデバイスで広く使用されている。HSAによって、プログラムは個別のメモリやスケジューリングなしで、浮動小数点計算にGPUを使用できるようになる。
意義
[編集]HSAの背後にある意義は、計算をGPUにオフロードするときのプログラマーの負担を軽減することである。元々はAMDによってのみ推進され、またFSA (Fusion System Architecture) と呼ばれていたが、のちにHSAの概念は、他のメーカーのDSPなど、GPU以外の処理装置(プロセッサ)も包含するように拡張された。