ホーム > 製品 > GPUコンピューティング

GPGPUを利用したハイブリッドHPC GPUコンピューティング

GPGPUを利用したハイブリッドHPC
「GPUコンピューティング」とは

GPUが実現するHPCのダウンサイジング

GPUコンピューティングとは、3次元画像処理に利用されていたGPU(Graphics Processing Unit)を、画像処理以外の汎用的な処理に応用する試みです。GPUコンピューティングは、GPUがもつ高密度の並列ベクトル演算特性により、従来のCPUで構成された大規模なHPCシステムの用途の代替として利用可能です。伝統的なCPUで構築された大規模なHPCシステムが必要な数値計算を、GPUを併用することにより、よりコンパクトなシステムで高速に演算処理することが可能になり、コスト削減、ダウンサイジング、省電力を同時に実現できますので、まさに、エコロジー時代に合ったシステム構築が可能です。GPUを利用した新たなハイパフォーマンスコンピューティング(HPC)の可能性は、従来のCPUベースの大規模HPCシステムではコストが見合わなかった、新たな分野への応用と市場の裾野拡大が期待されています。

GPUコンピューティングの特長

GPUコンピューティングとは、順次処理、反復処理に優れたCPUと、並列処理に優れたGPUを組み合わせたヘトロジニアス(異種混在)コンピューティングです。GPUは単純なデータを一度に大量処理することに特化しているため、CPUで複雑な処理をおこない、GPUで処理を並列で実行します。 例えば、1CPU(4コア)に対して、NVIDIA Tesla C2050/2070に搭載されるFermiプロセッサでは、1GPUあたり448コアと膨大な数のコアプロセッサを搭載しており、処理スレッド数もCPUが12スレッドなのに対して、GPUでは3万スレッド以上の超並列処理が可能です。

開発環境

GPUコンピューティングのアプリケーション開発には、オープンスタンダードな OpenCL、または、NVIDIAが提供する開発環境CUDA.(TM)を使用します。OpenCL では特定のベンダーに依存しない、汎用性の高いプログラム開発が可能です。さらに、NVIDIA社のGPUの場合は、CUDAを使用することで、C言語にてGPUを扱うプログラミングを行うことができ、従来のようにコンピュータ・グラフィックス用のシェーディング言語によるプログラミングに比べて格段に効率良く開発をすることができます。さらに、ISV各社のアプリケーション・ソフトも順次GPU対応が進んでおり、今後ますますその用途と可能性は広がります。

応用事例

GPUコンピューティングは、数値計算でのFFT、線形代数、モンテカルロ法、並列検索エンジン等を使用する、各種分野 (製造分野、科学技術分野、医療分野、通信・放送分野、金融分野など) で、高度な並列演算を実現します。

GPUコンピューティング コンサルティング

伝統的な大規模HPCシステムに対する、豊富な導入実績と経験を持つ日本SGIのコンサルティングでは、お客様の用途に適したGPUコンピューティング環境をネットワークやストレージを含めて構築いたします。
また、アプリケーションをGPUコンピューティングに最適化するためのチューニングをトレーニングやコンサルティングを通じて提供し、ハードウェアの性能を最大限に引き出します。