製造現場での“高速化”革命!!
時代はCPUから「GPU」へ
NVIDIA

「GPGPU」を用いた”高速処理技術”その成果とは?

この度、菱洋エレクトロはNVIDIAと正規代理店契約を行い、Quadro®シリーズ、Tesla™シリーズの販売を行うことになりました。Tesla™は世界最速スーパーコンピュータにおいても数多くの搭載実績を誇ります(下記表を参照)。具体的には、新素材の開発、耐震構造計算、新薬開発など様々な分野で利用されており、我々の生活にも密着しています。
そこで今回は、GPUコンピューティングに関する基礎知識を解説するとともに、開発/設計、製造業などの分野において、実際にどのように利用されているのか、具体的な事例を交え、ご紹介いたします。

TOP500 List - November 2011(1位から5位を抜粋)
世界TOP500のスーパーコンピュータの2位、4位、5位にNVIDAのTesla™が採用されております。

そもそも「GPGPU」って何?

注:1チップ内のコア数はCPUでは2〜8程度なのに対し、GPUでは〜512程度と非常に多くのコアが搭載されています。

近年、CPUのマルチコア化が進んでいます。今まではCPUクロックが上がればパフォーマンスの向上が見られましたが、熱問題によってこれ以上CPUクロックを上げられなくなった背景から、CPUの演算コア数を増やすことによってパフォーマンス向上を図る方向にシフトしました。

一方、「GPU」とは、本来はPCからの画像を出力するために設計されたグラフィック表示用カードでした。しかし、「GPU」はCPUと比較して非常に多くの演算コアを有していることから、近年このグラフィックボードの演算コアを使用して様々な分野でCPUに代わる演算用ボードとして用いられるようになってきました。そして、グラフィックカードを画像表示用以外で使用する試みを「GPGPU」(General-Purpose computing on Graphics Processing Units)と呼ぶようになったのです。

CPUと「GPU」の差って何?

近年、「GPGPU」の並列処理能力が注目されています。「GPU」は特定の演算において、CPUの数倍から数十倍、中には数百倍ものパフォーマンスを発揮する演算処理能力を持ち合わせているものも存在します。
GPU内部には数百個以上の演算コアが存在し、この大量の演算コアに対して演算処理を流すことができます。つまり、CPUで計算するより多くの演算処理を並列に行うことができる点が、「GPGPU」の最大の特徴なのです。

NVIDIA GPU ピザ宅配
CPUとGPUの比較イメージ
CPUは“1台のトラック”で一番効率良くピザを配達し(左図)、
GPUは“配達件数分のスクーター”が同時にピザを配達します(右図)

「GPGPU」プログラムって“めんどう”なのでは?

既存のCPUで使用していたソースコードを「GPU」で使用するためには、C言語であればCUDA、Fortran言語であればGPU対応のFortranに変換しなければ、「GPU」での高速演算処理の恩恵を受けることはできません。ソースコードを変換する作業があるので、プログラムの経験者でもかなりの時間を取られる可能性がありますが、既存のプログラムを比較的簡単にGPU化するには、次の2つの方法が存在します。

(1)ディレクティブを挿入する
仏国CAPS社が開発した「HMPP」というツールを使用すれば、ディレクティブ(指示行)を挿入するだけで比較的簡単に既存のプログラムをGPU化することができます。「HMPP」はノードを跨いだMPIにも対応しており、これからGPU高速化を始めるには最適なツールです。


(2)ライブラリの使用
GPU並列に対応したライブラリを挿入する方法があります。線形代数ライブラリ、FFTライブラリ等、一般的なライブラリはすでに存在するので、これらを組み込むことによって既存のプログラムを比較的簡単にGPU化することができます。

「GPGPU」による高速化事例

「GPU」を搭載できるものは、パソコンやサーバーだけではありません。最近では、スマートフォンやタブレットに搭載されたり、自動車のビジュアルコンピューティングシステムに採用されるなど、我々の生活にも非常に密着してきています。製造業でも様々な場面で「GPU」が活躍してきています。
そこで、「GPU」を用いた高速化の事例をご紹介します。

高速化事例:「GPU」を用いた高速画像処理と検査装置への展開

【お客様が抱える課題と解決】

高速画像処理はCPUに負荷がかかり、スムーズに処理が行えないなどの問題がありましたが、「GPU」を活用する事によって高速処理を実現しました。一例を挙げると、HD映像の再生処理やビデオ編集ソフトのトランジション処理などで、CPUに負荷をかける事なく、スムーズに高速画像処理を行うことができるようになりました。右のグラフは、CPUと「GPU」の画像補正処理時間の比較です。

CPUを使用した場合13,620msかかっていた処理が、「GPU」を使用することによって454msまで処理速度を上げるができ、30倍の処理速度の実現に成功したことが分かります。



【「GPGPU」を用いた高速化の応用分野】

高速画像処理装置
ラインの品質管理
ハイスピードカメラの画像処理
画像処理による金属部品検査装置
外観検査装置
形状検査装置
動体検知システム

代表的な「GPGPU」ソリューション NVIDIA® Tesla™ C2075

NVIDIA® Tesla™ C2075のGPUコンピューティングプロセッサは、“Fermi(フェルミ)”というコードネームを持つNVIDIA CUDA™ GPUアーキテクチャをベースにしています。
500GFlops以上の倍精度パフォーマンス、1TFlops以上の単精度パフォーマンス、ECCメモリーエラーの防御、L1およびL2キャッシュなどを特徴としており、標準的なPCとワークステーションをパーソナル・スーパーコンピューターに変えてしまう能力を有しています。プロフェッショナル、「GPGPU」用に専用設計されたTesla™C2075は製造業で要求される非常に高い性能、安定性を提供可能な製品です。

Tesla GPUを用いたスーパー・コンピューティング

菱洋エレクトロの「GPGPU」ソリューション

菱洋エレクトロではただ単にハードウェアの販売をするのではなく、お客様に合わせたサービスを提供しています。

(1)プログラムポーティングサービス
ご使用になられているソースコードを解析し、ホットスポットを解明し、プログラムの実行から終了までプログラム全体の高速化を実現します。

(2)アルゴリズム検討サービス
ソースコードの書き換えによるGPU化だけではなく、高速化チューニングのためのアルゴリズムの書き換え等にもご提案可能です。

ご興味、ご相談等ございましたら弊社担当者もしくはwebのお問合せよりお気軽にお問合せ下さい。

会社紹介

NVIDIA

NVIDIA社は米国カリフォルニア州にある半導体メーカー。コンピュータのグラフィックス処理や演算処理の高速化を主な目的とするGPU(グラフィックス・プロセッシング・ユニット)の設計・開発を行っている。デスクトップパソコンやノートパソコン向けのGPUであるGeForceシリーズ、プロフェッショナル向けでワークステーションに搭載されるQuadroやNVSシリーズで有名だが、近年はスーパーコンピュータ向けの演算専用プロセッサであるTeslaや、携帯電話やスマートフォン・タブレット端末向けのSoC(システム・オン・チップ)であるTegraの開発も手掛ける。

詳しくはhttp://www.nvidia.co.jp/をご覧ください。

お問い合わせ・資料請求はこちら

ページの先頭へ戻る