2014年は、AMDのCPU/APUビジネスにとって最大の転換点となる。その鍵を握るのは“ARM”だ。
同社は、2014年に64ビットARMアーキテクチャを採用するCortex-A57コアを16基または8基統合したSoC「Seattle」(開発コード名)を市場投入する計画だ。同SoCには、Freedom Fabricや10Gビットイーサネットコントローラも統合され、省電力かつ高性能な高密度サーバ向けSoCとして、同市場における優位性を確立させたい考えだ。
同社初のARM SoCとなるSeattleは、QualcommやNVIDIAのようにARMアーキテクチャのライセンスを受けて独自コアを設計するのではなく、あくまでもARMからCPUコアのライセンスを受け、そのまま実装する手法を採る。AMDは現時点でSeattleにRadeon GPUコアを統合するかどうかは明らかにしていないが、そのターゲットが高密度サーバ市場ということもあり、GPUを統合するにしてもシンプルなものになるとみられている。
そして、もう1つの重要な要素が“HSA”(Heterogeneous System Architecture)におけるARM陣営との協業だ。HSAは、GPUを積極的に並列コンピューティング処理に利用できるように、ソフトウェアがCPUやGPUを意識せずに実行できるようにするプログラミングモデルのこと。このHSAに対応したアプリケーションは、HSAランタイム上で中間言語(HSAIL:HSA Intermediate Languate)にコンパイルされ、CPU/APU/SoCベンダーが用意した、それぞれのハードウェアにあったJIT(ジャストインタイム)コンパイラ(HSA Finalizer)で、CPUやGPUのネイティブコードに再変換することにより、ハードウェアの差異を吸収する仕組みだ。
AMDは、このHSAをハードウェアレベルで実装した初のAPU「Kaveri」(開発コード名)を2013年末に市場投入することを明らかにしている。同APUでは、CPUとGPUが単一のメモリアドレス空間にアクセスできるようにする「hUMA」(heterogeneous Uniform Memory Access)をサポートすることで、HSAアプリケーションのパフォーマンスを引き出しやすくする。
現在、GPUを並列コンピューティング処理に利用するためには、CPUとGPUがデータを共有するために、それぞれが管理するメモリ空間に同じデータを持つ必要がある。しかし、CPU管理下のデータをGPU管理下のメモリ空間にコピーしたり、データの同期を採ったりするためには、メモリ帯域を圧迫するだけでなく、データの移動に余分な消費電力を使うことになる。
そこで、hUMAではCPUとGPUが仮想メモリアドレスを共有することにより、それぞれのメモリアドレス空間にアクセスできるようにし、データのコピーや同期を不要にすることで、より効率的かつ省電力でヘテロジニアス処理を可能にする。
さらに、CPUとGPUが同じデータを処理する場合、データ更新などの整合性を採る必要が生じるが、hUMAではそのためのハードウェアコヒーレンシ機能(一貫性の意味)を搭載することで、より高速かつ効率的にメモリデータの整合性を取ることができるようになる。これにより、プログラマはCPUとGPUの両方を利用した並列処理においてもデータの整合性に気を配る必要がなくなり、HSA対応アプリケーション開発が容易になるという。
つまり、2014年にはAMDが提唱してきたHSAがようやく現実のものとなる。CPUやGPUの世代、アーキテクチャの違いに関わらず、ヘテロジニアスコンピューティングを実現するソフトウェア環境がスタート地点に立ち、AMDにとっては、x86かARM、またはGPUアーキテクチャの世代を意識することなく実行できるソフトウェア資産を持てることにつながる。
このことは、x86ベースのPC市場が急速にしぼんでも、ソフトウェア資産をムダにすることなく、ARMベースのSoCやAPUへ切り替えられることを意味するわけだ。
Copyright © ITmedia, Inc. All Rights Reserved.