複合並列コンピューティングの必要性とFermiの登場
複合並列コンピューティングの要件としてのCPUとGPU
ここまで、Fermiの概要や特長について述べてきましたが、もう1度、並列コンピューティングにおけるCPUとGPUの役割について考えてみましょう。
現在のCPUを会社組織の本社機構に例えると、もともと"計算"を本業としてスタートした会社であるのに対し、年月を経るにつれて総務部門や管理部門(システム・マネジメントやメモリー管理)、渉外部門や顧客対応(I/Oコントロールや割り込み処理)など、会社を支えるために重要なさまざまな部門の整備が必要になり、本社工場を拡張するための敷地や最新の生産設備を導入する資金が不足している、という状況ではないでしょうか。
ここで、"計算"という主力製品の生産性を2倍、3倍に高めるには、どうしたらよいのでしょうか。
1つ考えられる方法は、現在の本社機構をそっくりそのまま別の場所にコピーするというやり方です。こうすれば、生産能力は2倍になります。さらに、同じコピーをまた別に作れば、3倍、4倍というように拡張していけるはずです。しかし、この方法では、本来であれば会社に1つだけあれば済む部門まで3倍、4倍と持つ必要があり、無駄が多くなります。
そこで登場したのが、最新の生産設備と、現在の本社工場の数倍以上の生産能力を持つ、外注工場としてのGPUなのです。
GPUという外注先は、素性の知れないまったくの未知の会社というわけではありません。以前から"グラフィックス"という高機能・高性能商品を外注していた会社です。グラフィックスと同じ技術を使って"計算"という新商品の生産を、高いコスト・パフォーマンスと高いエネルギ・パフォーマンスで請け負う会社です。
この会社の問題点は、これまで"グラフィックス"という商品を生産するにあたって存在していたDirectXやOpenGLといった契約や、CADソフトやビデオ編集ソフトといった作業指示書をそのまま使う限り、"計算"という別の商品の生産を依頼してもうまくいきそうにない、ということです。
そこで、いよいよ"計算 = コンピューティング"のための新しい契約として、CUDAが登場します。すでに、CUDA CやCUDA Fortran、OpenCLといった、作業指示書を書くためのガイドラインが準備されています。
CPUが1つあり、その数倍以上の演算処理能力が求められる場合に必要になるのは、2個目、3個目のCPUではありません。GPUとCUDAを追加することによって可能になる、複合並列コンピューティングが必要になるのです。これが、NVIDIAからの提案です。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- GPUコンピューティングの歴史とCUDAの誕生
- CUDAとGPUコンピューティングの広がり
- GPUコンピューティングのNVIDIA、OpenStackでの利用拡大を狙う
- エルザジャパン、NVIDIA TEGRA 3を搭載したGPUコンピューティング開発キットの取り扱いを開始
- 現代PCの基礎知識(1):プロセッサにまつわるアレやコレ
- 「超低遅延社会」を実現するかも知れないFPGAの可能性とは
- 「GPU」×「PG-Storm」で爆速PostgreSQLを体験してみよう
- Docker DesktopのWSL 2 GPU対応版を開発者向けにプレビュー公開
- GPUをフル活用するためのカンファレンスGTC 2019、サンノゼで開催
- GTC 2019ではFacebook、Google、Walmartなどによる人工知能関連のセッションが満載