複合並列コンピューティングの必要性とFermiの登場

2010年7月9日(金)
平野 幸彦

複合並列コンピューティングの要件としての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からの提案です。

NVIDIA Tesla Quadro事業部 GPUコンピューティング担当 シニア・エンジニア

外資系コンピュータ・メーカーにてPCグラフィックス・サブシステムやASICの設計開発、経営企画部門、製品開発プロジェクト・マネージャなどを経験し、2007年NVIDIA入社。現在、GPUコンピューティングの技術的なサポートを担当。
 

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています