開発者向けHSA:大衆向けのヘテロジニアスコンピューティング
公開: 2022-03-11AMD、ARM、Samsung、MediaTek、Qualcomm、Texas Instrumentsなどのチップメーカーの共通点は何ですか? さて、これらのチップ製造の巨人の間の明らかな類似点は別として、彼らはまた、HSA財団の創設者でもあります。 HSAとは何ですか。また、なぜ業界の大物に支えられた基盤が必要なのですか。
この投稿では、HSAが近い将来に大きな問題になる可能性がある理由を説明しようとします。そのため、基本から始めます。HSAとは何ですか、なぜ気にする必要がありますか?
HSAはHeterogeneousSystemArchitectureの略で、退屈に聞こえますが、私を信じてください。本当にエキサイティングになる可能性があります。 HSAは基本的に、同じバス上でCPUとGPUをさらに統合できるように設計された一連の標準と仕様です。 これは完全に新しい概念ではありません。 デスクトップCPUとモバイルSoCは、統合グラフィックスを採用し、単一のバスを何年も使用してきましたが、HSAはそれを次のレベルに引き上げます。
HSAを使用すると、CPUとGPUに同じバスと共有メモリを使用するだけでなく、これら2つの大きく異なるアーキテクチャを連携してタスクを共有することもできます。 大したことではないように聞こえるかもしれませんが、よく見て、このアプローチの潜在的な長期的影響を調べると、技術的な意味で非常に「甘い」ように見え始めます。
大野! これがもう1つの愚かな標準開発者が実装しなければならないことです
はいといいえ。
同じバスを共有するという考え方は新しいものではなく、特定のコンピューティングタスク(ヘッドショットのレンダリングを含まない)に高度に並列化されたGPUを採用するという考え方でもありません。 これは以前に行われたことであり、私たちの読者のほとんどは、CUDAやOpenCLなどのGPGPU標準にすでに精通していると思います。
ただし、CUDAやOpenCLのアプローチとは異なり、HSAは、少なくとも異なる処理コアに異なる負荷を割り当てる場合に、開発者を効果的に方程式から外します。 ハードウェアは、計算をCPUからGPUに、またはその逆にオフロードするタイミングを決定します。 HSAは、OpenCLのような確立されたGPGPUプログラミング言語に取って代わるものではありません。HSAハードウェアにも実装できるからです。
これがHSAの要点です。これにより、プロセス全体が簡単になり、シームレスになります。 開発者は、必ずしも計算をGPUにオフロードすることを考える必要はありません。 ハードウェアが自動的に行います。
これを実現するには、HSAは複数のチップメーカーやハードウェアベンダーからのサポートを享受する必要があります。 HSAサポーターのリストは印象的ですが、Intelは、チップ業界の誰が誰であるかというこの正真正銘の人物には著しく欠けています。 デスクトップとサーバープロセッサの両方の市場におけるインテルの市場シェアを考えると、これは大きな問題です。 リストにないもう1つの名前は、CUDAに焦点を当て、現在GPUコンピューティング市場のリーダーであるNvidiaです。
ただし、HSAは、通常Intel Insideステッカーを使用するハードウェア上で、高性能システムおよびアプリケーション専用に設計されているわけではありません。 HSAは、Intelの市場シェアがごくわずかであるエネルギー効率の高いモバイルデバイスでも使用できます。
それで、HSAは生活を楽にすることになっていますが、それはまだ関連していますか? 追いつくのでしょうか? これは技術的な問題ではなく、経済的な問題です。 それは市場の見えざる手に依存します。 それで、先に進む前に、現在の状況と、どのようにしてここに到達したかを詳しく見ていきましょう。
HSAの開発、歯が生える問題および採用の懸念
冒頭で述べたように、HSAはまったく新しい概念ではありません。 それはもともと、それを軌道に乗せることに既得権益を持っていたAdvanced Micro Devices(AMD)によって構想されました。 10年前、AMDはグラフィックスペシャリストのATIを買収し、それ以来、AMDは最先端のGPUテクノロジーへのアクセスを活用して全体的な売上を伸ばそうとしています。
表面的には、アイデアは非常に単純でした。AMDは、最先端のディスクリートGPUの開発と製造を継続するだけでなく、ATIのGPUテクノロジーをプロセッサーに統合します。 AMDのマーケティング部門はこのアイデアを「Fusion」と呼び、HSAはFusion System Architecture(FSA)と呼ばれていました。 いいですね。 優れた統合グラフィックスを備えたまともなx86プロセッサを入手することは、良い考えのように思えました。
残念ながら、AMDは途中で多くの問題に遭遇しました。 それらのいくつかを選び出します:
- テクノロジーの優れたアイデアは、競合他社、この場合はIntelによって取り上げられることになります。
- AMDはIntelの技術的優位性を失い、Intelのファウンドリ技術のリードにより、CPU市場での競争がますます困難になっていることに気づきました。
- AMDの実行には問題があり、新しいプロセッサの多くは市場に遅れていました。 その他は完全に廃棄されました。
- 2008年の経済崩壊とその後のモバイル革命は役に立たなかった。
これら、および他の多くの要因が、AMDの優位性を鈍らせ、AMDの製品および技術の市場での採用を妨げるように共謀しました。 AMDは、2011年半ばに新世代の統合Radeonグラフィックスを搭載したプロセッサの展開を開始し、CPUではなくAccelerated Processing Unit(APU)と呼び始めました。
マーケティングはさておき、AMDの第1世代のAPU(コードネームLlano)はフロップでした。 チップは遅れており、Intelの製品に追いつくことができませんでした。 深刻なHSA機能も含まれていませんでしたが、AMDは2012年のプラットフォームにそれらを追加し始めました(Trinity、本質的にLlanoは正しく実行されました)。 次のステップは2014年で、異種メモリ管理をサポートするKaveri APUが導入されました(GPUIOMMUとCPUMMUは同じアドレス空間を共有していました)。 Kaveriはまた、より多くのアーキテクチャ統合をもたらし、CPUとGPU間のコヒーレントメモリを可能にしました(AMDはそれをhUMAと呼びます。これはHeterogeneous Unified Memory Accessの略です)。 その後のCarizzoの更新により、さらに多くのHSA機能が追加され、プロセッサがGPUでコンピューティングタスクをコンテキストスイッチして、さらにいくつかのトリックを実行できるようになりました。
今後のZenCPUアーキテクチャ、およびその上に構築されたAPUは、市場に登場した場合、さらに多くの機能を提供することを約束します。
だから問題は何ですか?
オンダイGPUの可能性を実現したチップメーカーはAMDだけではありませんでした。 Intelは、ARMチップメーカーと同様にコアCPUにもそれらを追加し始めたため、統合GPUは現在、事実上すべてのスマートフォンSoCに加えて、大多数のPC/Macで使用されています。 その間に、CPU市場におけるAMDの地位は損なわれました。 市場シェアの低迷により、AMDのプラットフォームは開発者、企業、さらには消費者にとっても魅力的ではなくなりました。 市場にはAMDベースのPCはそれほど多くなく、AppleはAMDプロセッサをまったく使用していません(ただし、主にOpenCLとの互換性のためにAMDグラフィックスを使用していました)。
AMDはもはやハイエンドCPU市場でIntelと競合していませんが、競合したとしても、この点で大きな違いはありません。 統合グラフィックスを使用するために、2,000ドルのワークステーションやゲーミングPCを購入することはありません。 彼らは高価なディスクリートグラフィックスを使用しており、エネルギー効率についてはあまり気にしません。
スマートフォンやタブレット向けのHSAはどうですか?
ちょっと待って。 モバイルプラットフォームはどうですか? AMDはスマートフォンやタブレットチップ向けに同様のソリューションを展開することはできませんか? いや、そうではない。
ご存知のとおり、ATIの買収から数年後、AMDは経済危機により悪化し、厳しい財政状況に陥ったため、ImageonモバイルGPU部門をクアルコムに売却することを決定しました。 Qualcommは、製品の名前をAdreno(Radeonのアナグラム)に変更し、新しく塗り直された社内GPUを使用して、スマートフォンプロセッサ市場で支配的なプレーヤーになりました。
お気づきの方もいらっしゃるかと思いますが、スマホ革命が始まったばかりのスマホグラフィックスの販売は、見事なビジネスの動きとは思えませんが、後知恵は常に20/20だと思います。
HSAは、以前はAMDとそのx86プロセッサにのみ関連付けられていましたが、現在はそうではありません。 実際、HSA FoundationのすべてのメンバーがHSA対応のARMスマートフォンプロセッサの出荷を開始した場合、収益と出荷台数の両方の点で、AMDのx86プロセッサを数倍上回ります。 では、そうするとどうなりますか? それは業界と開発者にとって何を意味するのでしょうか?
さて、初心者にとって、スマートフォンプロセッサはすでにヘテロジニアスコンピューティングに依存しています。 ヘテロジニアスコンピューティングとは、通常、単一のチップでさまざまなアーキテクチャを使用するという概念を指し、今日の高度に統合されたSoCにあるすべてのコンポーネントを考慮すると、これは非常に広い定義になる可能性があります。 その結果、標準によっては、ほぼすべてのSoCがヘテロジニアスコンピューティングプラットフォームと見なされる可能性があります。 場合によっては、異種プラットフォームと同じ命令セットに基づいて異なるプロセッサを参照することもあります(たとえば、ARM Cortex-A57およびA53コアを備えたモバイルチップ。どちらも64ビットARMv8命令セットに基づいています)。
多くのオブザーバーは、Apple Aシリーズチップ、Samsung Exynos SoC、および他のベンダー、つまりQualcommやMediaTekなどの大手プレーヤーの同様のプロセッサを含むほとんどのARMベースのプロセッサが異種プラットフォームと見なされる可能性があることに同意しています。
しかし、なぜ誰かがスマートフォンプロセッサでHSAを必要とするのでしょうか? Angry BirdsやUberではなく、プロのワークロードを処理するために一般的なコンピューティングにGPUを使用することの全体的なポイントではありませんか?
はい、そうですが、それは、モバイルプロセッサ設計の優先事項である効率を高めるためにほぼ同じアプローチを使用できないことを意味するものではありません。 そのため、ハイエンドのワークステーションで無数の並列化されたタスクを処理する代わりに、HSAを使用してモバイルプロセッサをより効率的で用途の広いものにすることもできます。
これらのプロセッサを詳しく調べる人はほとんどいません。通常、新しい電話を購入するときにスペックシートを確認します。それだけです。つまり、番号とブランドを確認します。 彼らは通常、 SoCダイ自体を見ていないため、多くのことがわかります。その理由は次のとおりです。ハイエンドのスマートフォンプロセッサのGPUは、CPUよりも多くのシリコン領域を占有します。 それらがすでに存在していることを考えると、ゲーム以外のアプリケーションでそれらをうまく利用できるといいですね。
架空の、完全にHSAに準拠したスマートフォンプロセッサを使用すると、開発者は、全体的な生産コストを大幅に増やすことなくこの可能性を活用し、より多くの機能を実装し、効率を高めることができます。
少なくとも理論的には、HSAがスマートフォンプロセッサに対してできることは次のとおりです。
- 適切なタスクをGPUに転送することにより、効率を向上させます。
- 状況によっては、CPUの負荷を軽減することでパフォーマンスを向上させます。
- メモリバスをより有効に活用します。
- 一度により多くのシリコンを利用することにより、チップ製造コストを削減できる可能性があります。
- CPUコアでは効率的に処理できなかった新機能を紹介します。
- 標準化により開発を合理化します。
特に、開発者が実装に多くの時間を浪費する可能性が低いと考える場合は、良さそうです。 それが理論ですが、実際に動作するのを待つ必要があり、それにはしばらく時間がかかる場合があります。
とにかくHSAはどのように機能しますか?
はじめに基本の概要を説明しましたが、いくつかの理由から、あまり詳しく説明することを躊躇しています。技術ブログで公開されている中編小説が好きな人は誰もいません。HSAの実装は異なる場合があります。
したがって、私は数百の言葉で概念を概説しようとします。
標準システムでは、アプリケーションはバッファをGPUに転送することで計算GPUの負荷を軽減します。これには、キューイングの前にCPU呼び出しが含まれます。 次に、CPUはジョブをスケジュールしてGPUに渡し、GPUは完了時にジョブをCPUに戻します。 次に、アプリケーションはバッファを取得します。バッファは、準備が整う前にCPUによって再度マッピングされる必要があります。 ご覧のとおり、このアプローチには多くのやりとりが含まれます。
HSAシステムでは、アプリケーションがジョブをキューに入れ、HSA CPUが引き継ぎ、GPUに渡し、それを取り戻し、アプリケーションに渡します。 終わり。
これは、CPUとGPUの間でシステムメモリを直接共有することで可能になりますが、他のコンピューティングユニット(DSPなど)も関与する可能性があります。 このレベルのメモリ統合を実現するために、HSAはコンピューティングデバイスに仮想アドレス空間を採用しています。 これは、CPUコアとGPUコアがページテーブルを共有している限り、同じ条件でメモリにアクセスできることを意味し、さまざまなデバイスがポインタを介してデータを交換できるようにします。
それぞれの仮想メモリを使用してGPUとCPUにメモリを割り当てる必要がなくなったため、これは明らかに効率性に優れています。 統合された仮想メモリのおかげで、どちらもニーズに応じてシステムメモリにアクセスできるため、優れたリソース使用率と柔軟性が確保されます。
4GBのRAMを備えた低電力システムを想像してみてください。そのうち512MBが統合GPUに割り当てられています。 このモデルは通常柔軟性がなく、GPUメモリの量をその場で変更することはできません。 あなたは256MBまたは512MBで立ち往生しています、そしてそれはそれだけです。 HSAを使用すると、やりたいことが何でもできます。GPUに多くのものをオフロードし、GPU用により多くのRAMが必要な場合、システムはそれを割り当てることができます。 そのため、高解像度のアセットが多数あるグラフィックスにバインドされたアプリケーションでは、システムが1GB以上のRAMをGPUにシームレスに割り当てることになります。

すべてが同じであれば、HSAシステムと非HSAシステムは同じメモリ帯域幅を共有し、同じ量のメモリにアクセスできますが、HSAシステムはそれをはるかに効率的に使用するため、パフォーマンスが向上し、消費電力が削減されます。 それはすべて、より少ない費用でより多くを得るということです。
ヘテロジニアスコンピューティングは何に役立つでしょうか?
簡単な答えは? ヘテロジニアスコンピューティング、またはその実装の場合はHSAは、CPUよりもGPUに適したすべてのコンピューティングタスクに適しています。 しかし、それは正確にはどういう意味ですか、とにかくGPUは何が得意ですか?
最新の統合GPUは、ディスクリートグラフィックス(特にハイエンドのゲーム用グラフィックスカードやワークステーションソリューション)と比べるとそれほど強力ではありませんが、以前のバージョンよりもはるかに強力です。
追跡していなければ、これらの統合されたGPUは冗談だと思うかもしれません。何年もの間、それらはまさにそれでした。安価な家庭用およびオフィス用ボックスのグラフィックスです。 しかし、統合されたGPUがチップセットからCPUパッケージに移行して消滅し、真に統合されるようになるにつれて、これは10年の変わり目に変化し始めました。
フラッグシップGPUと比較すると、依然としてひどくパワーが不足していますが、統合されたGPUでさえ多くの可能性を秘めています。 すべてのGPUと同様に、単一の命令、複数のデータ(SIMD)および単一の命令、複数のスレッド(SIMT)のロードに優れています。 反復的な並列化されたロードで多数の数値を処理する必要がある場合は、GPUが役立ちます。 一方、CPUは、重い分岐ワークロードでも優れています。
そのため、CPUのコア数は少なく、通常は2〜8であり、コアは順次シリアル処理用に最適化されています。 GPUには数十、数百、そしてフラッグシップディスクリートグラフィックスカードでは、数千のより小さく、より効率的なコアが搭載される傾向があります。 GPUコアは、複数のタスクを同時に処理するように設計されていますが、これらの個々のタスクは、CPUによって処理されるタスクよりもはるかに単純です。 GPUが優れた効率やパフォーマンスでそれらを処理できるのに、なぜそのような負荷でCPUに負担をかけるのでしょうか。
しかし、GPUが非常に優れているのなら、何年も前に一般的なコンピューティングデバイスとしてGPUを使い始めなかったのはなぜですか? さて、業界は試みましたが、進歩は遅く、特定のニッチに限定されていました。 この概念は元々、グラフィックスプロセッシングユニット(GPGPU)での汎用コンピューティングと呼ばれていました。 昔は、可能性は限られていましたが、GPGPUの概念は健全であり、その後、NvidiaのCUDAおよびApple /KhronosGroupのOpenCLの形で採用および標準化されました。
CUDAとOpenCLは、プログラマーがGPUを別の、はるかに効果的な方法で使用できるようにしたため、大きな違いをもたらしました。 ただし、これらはベンダー固有のものでした。 OpenCLがATIハードウェア用に予約されている(そしてAppleに採用されている)間、NvidiaハードウェアでCUDAを使用できます。 MicrosoftのDirectComputeAPIはDirectX11でリリースされ、ベンダーに依存しない限定的なアプローチが可能になりました(ただし、Windowsに限定されていました)。
GPUコンピューティング用のいくつかのアプリケーションをリストして要約しましょう。
HPCクラスター、スーパーコンピューター、コンピューティング負荷用のGPUクラスター、GRIDコンピューティング、負荷分散の形式の従来のハイパフォーマンスコンピューティング(HPC) 。
物理学を必要とする負荷。これには、ゲームやグラフィックス全般が含まれる可能性がありますが、必ずしもそうする必要はありません。 また、流体力学計算、統計物理学、およびいくつかのエキゾチックな方程式とアルゴリズムを処理するために使用することもできます。
ジオメトリ、透明度の計算、シャドウ、衝突検出など、ジオメトリに関連するほとんどすべてのもの。
DSPの代わりにGPUを使用するオーディオ処理、音声処理、アナログ信号処理など。
デジタル画像処理は、GPUが(明らかに)設計されているものであるため、画像およびビデオの後処理とデコードを高速化するために使用できます。 ビデオストリームをデコードしてフィルターを適用する必要がある場合は、エントリーレベルのGPUでもCPUでフロアを一掃します。
気候研究、天体物理学、量子力学、分子モデリングなどを含む科学計算。
その他の計算集約型タスク、つまり暗号化/復号化。 暗号通貨を「マイニング」する必要がある場合でも、機密データを暗号化または復号化する必要がある場合でも、パスワードを解読する必要がある場合でも、ウイルスを検出する必要がある場合でも、GPUが役立ちます。
これは、潜在的なGPUコンピューティングアプリケーションの完全なリストではありませんが、この概念に精通していない読者は、GPUコンピューティングの違いについての一般的な考え方を理解する必要があります。 また、ゲームやプロのグラフィックスなどの明らかなアプリケーションも省略しました。
とにかく、包括的なリストは存在しません。GPUコンピューティングは、金融や医療画像からデータベースや統計の読み込みに至るまで、あらゆる種類のものに使用できるためです。 あなたはあなた自身の想像力によって制限されています。 いわゆるコンピュータビジョンは、もう1つの新進気鋭のアプリケーションです。 木、歩行者、その他の車両を避けるためにドローンや自動運転車を「教える」必要がある場合は、有能なGPUを使用することをお勧めします。
ここに、お気に入りのリンジーローハンのジョークを自由に挿入してください。
HSAのための開発:いくつかの悪いニュースの時間
これは事実というよりは個人的な意見かもしれませんが、私はHSAの信者です。 適切に実装され、チップメーカーや開発者の間で十分な支持を得れば、このコンセプトには大きな可能性があると思います。 しかし、進歩は痛々しいほど遅く、あるいはそれは私の気持ちであり、希望的観測のピンチがあります。 私は新しいテクノロジーが実際に動いているのを見るのが好きで、私は忍耐強い個人ではありません。
HSAの問題は、まだそこにないことです。 離陸しないという意味ではありませんが、しばらく時間がかかる場合があります。 結局のところ、私たちは新しいソフトウェアスタックについて話しているだけではありません。 HSAは、その魔法を実行するために新しいハードウェアを必要とします。 これに伴う問題は、このハードウェアの多くがまだ設計段階にあるということですが、私たちはそこに到達しています。 ゆっくり。
これは、開発者がHSA関連のプロジェクトに取り組んでいないことを意味するものではありませんが、その点についてはあまり関心や進歩はありません。 HSAを試してみたい場合は、次のリソースを確認する必要があります。
HSA Foundation @ GitHubは、明らかに、HSA関連のリソースの場所です。 HSA Foundationは、デバッガー、コンパイラー、重要なHSAILツールなど、GitHubで多数のプロジェクトを公開および維持しています。 ほとんどのリソースはAMDハードウェア用に設計されています。
AMDが提供するHSAILリソースを使用すると、HSAIL仕様をよりよく理解できます。 HSAILはHSAIntermediateLanguageの略で、基本的に、HSAデバイスをターゲットにしたいバックエンドコンパイラライターおよびライブラリライターにとって重要なツールです。
HSAプログラマーズリファレンスマニュアル(PDF)には、完全なHSAIL仕様に加えて、中間言語の包括的な説明が含まれています。
HSA Foundationのリソースは当面限られており、Foundationの開発者プログラムは「間もなく登場」しますが、チェックアウトする公式の開発者ツールがいくつかあります。 さらに重要なことに、それらはあなたが始めるために必要なスタックの良いアイデアをあなたに与えるでしょう。
公式のAMDブログには、いくつかの便利なHSAコンテンツも掲載されています。
あなたが好奇心旺盛なタイプであれば、これで始めるのに十分なはずです。 本当の問題は、最初からわざわざする必要があるかどうかです。
HSAとGPUコンピューティングの未来
新興技術を取り上げるときはいつでも、同じジレンマに直面します。読者に時間とリソースを費やすように指示するべきでしょうか、それとも遠ざけて、待ってアプローチを見るように指示するべきでしょうか。
GPUコンピューティングの一般的な概念が好きなので、多少偏見があることはすでに明らかにしましたが、今のところ、ほとんどの開発者はそれがなくても実行できます。 たとえそれが成功したとしても、HSAの魅力は限られており、ほとんどの開発者には関係ありません。 ただし、将来的には重要になる可能性があります。 AMDにとって残念なことに、x86プロセッサ市場でゲームチェンジャーになる可能性は低いですが、ARMベースのモバイルプロセッサではさらに重要になる可能性があります。 AMDのアイデアだったかもしれませんが、QualcommやMediaTekなどの企業は、HSA対応のハードウェアを数億人のユーザーに提供するのに適しています。
それはソフトウェアとハードウェアの完全な共生でなければなりません。 モバイルチップメーカーがHSAに夢中になるとしたら、それは大きな問題になるでしょう。 新世代のHSAチップは、CPUコアとGPUコアの間の境界線を曖昧にします。 彼らは同じメモリバスを同等の条件で共有するでしょう、そして私は企業がそれらを異なって販売し始めると思います。 たとえば、AMDはすでにAPUをさまざまな「コンピューティングコア」(CPUとGPU)で構成される「コンピューティングデバイス」として販売しています。
モバイルチップは、同様のアプローチを使用することになる可能性があります。 8個または10個のCPUコアなどのGPUを備えたチップを販売する代わりに、チップメーカーはクラスター、モジュール、およびユニットについて話し始めることができます。 したがって、4つの小さなCPUコアと4つの大きなCPUコアを備えたプロセッサは、GPUコアを考慮に入れると、「デュアルクラスタ」または「デュアルモジュール」プロセッサ、あるいは「トライクラスタ」または「クアッドクラスタ」設計になります。 。 多くの技術仕様は、時間の経過とともに無意味になる傾向があります。たとえば、オフィスのプリンターのDPIや、安価なスマートフォンのカメラのメガピクセル数などです。
しかし、それはマーケティングだけではありません。 GPUがCPUコアと同じくらい柔軟になり、CPUと同等の条件でシステムリソースにアクセスできるようになった場合、なぜGPUを本名で呼び出す必要があるのでしょうか。 20年前、業界は専用の数学コプロセッサー(FPU)がすべてのCPUの必須コンポーネントになったときに、それらの使用を停止しました。 ほんの数サイクル後、私たちはそれらが存在したことを忘れました。
計算のためにGPUを利用する方法はHSAだけではないことに注意してください。
IntelとNvidiaは参加しておらず、アプローチは異なります。 Intelは近年GPUR&D投資を静かに増やしており、最新の統合グラフィックスソリューションは非常に優れています。 オンダイGPUがより強力になり、より多くのシリコン領域を占めるようになるにつれて、Intelは一般的なコンピューティングにGPUを使用するためのより独創的な方法を見つける必要があります。
一方、Nvidiaは、数年前(PCチップセットの生産を停止したとき)に統合グラフィックス市場から撤退しましたが、Tegraシリーズプロセッサを使用してARMプロセッサ市場で運試しをしました。 それらは大成功ではありませんでしたが、それでも一部のハードウェアで使用されており、Nvidiaは組み込みシステム、つまり自動車に力を注いでいます。 この設定では、統合GPUは、衝突検出、屋内ナビゲーション、3Dマッピングなどに使用できるため、独自の重みを引き出します。 GoogleのProjectTangoを覚えていますか? 一部のハードウェアはTegraチップに基づいており、深度検知やその他の巧妙なトリックが可能です。 スペクトルの反対側では、NvidiaのTesla製品ラインは、ハイエンドGPUコンピューティング市場をカバーし、このニッチでのNvidiaの今後数年間の優位性を保証します。
結論は? 紙面では、GPUコンピューティングは多くの可能性を秘めた優れた概念ですが、現在のテクノロジーの状態にはまだ多くの要望があります。 HSAは、これらの問題のほとんどに対処するために大いに役立つはずです。 さらに、すべての業界プレーヤーによってサポートされているわけではないため、採用がさらに遅れることになります。
数年かかるかもしれませんが、GPUは、モバイルチップであっても、最終的には一般的なコンピューティングの分野で正当な位置を占めるようになると確信しています。 技術はほぼ準備ができており、残りは経済学が行います。 どのように? さて、ここに簡単な例があります。 Intelの現世代のAtomプロセッサは12〜16個のGPU実行ユニット(EU)を備えていますが、以前のプロセッサは古いアーキテクチャに基づいて4つのEUしかありませんでした。 統合されたGPUがより大きく、より強力になり、ダイの面積が増えるにつれて、チップメーカーは全体的なパフォーマンスと効率を向上させるためにそれらを使用する以外に選択肢がなくなります。 そうしないと、利益率と株主にとって悪いことになるでしょう。
心配しないでください。この新しい種類のGPUで時折ゲームを楽しむことができます。 ただし、ゲームをしていないときでも、GPUはバックグラウンドで多くのことを実行し、CPUの負荷を軽減して、パフォーマンスと効率を向上させます。
特に安価なモバイルデバイスでは、これが大きな問題になることに私たちは皆同意できると思います。