ページの先頭です

計算処理の高速化コンサルティング 概要

蓄積された技術・ノウハウとコンサルティングベースの課題解決アプローチによりお客さまの計算処理に関わる高速化ニーズにお応えします。

サービスメニュー

計算処理の高速化において、お客さまの事業フェーズ(検討、開発、システム化)にあわせたさまざまなサービスを提供します。

高速化にかかわる検討・開発・システム構築イメージ

高速化にかかわる検討・開発・システム構築イメージ

技術分野

並列処理による高速化

映像の高精細化や金融商品の多様化などに伴い、計算機が処理しなければならないデータは年々大規模になり、またそれらの処理の高度化に伴い、計算アルゴリズムも益々複雑化しています。結果として、企業や研究機関では計算サーバの増強に追われ、ランニングコストの増加の要因となっています。一方、業務効率の向上やコスト削減の要求も高まっており、こうした大規模データや複雑なアルゴリズムを高速に処理する必要性が高まっています。

近年、高速化の要求に対する解決方法として並列処理が注目を浴びています。2003年頃までは、プロセッサの動作周波数は年々高くなり、既存のプログラムに何も手を加えなくともプロセッサを新しくすることで処理速度の高速化を図ることができました。しかし、消費電力の問題からプロセッサの周波数をこれまで以上に向上させることが難しくなり、プロセッサの計算性能を上げる別の方法として、マルチコアCPUやGPUといった、計算コアを複数搭載したプロセッサが登場してきました。現在も1プロセッサ当たりのコア数は増加傾向にあります。

このようなプロセッサで計算プログラムを高速に動作させるには、既存のプログラムやアルゴリズムをそのまま使用するのではなく、プログラムを書き換え、計算処理の並列化をすることが不可欠になります。並列化の手法には大きく分けて、処理対象のデータを分割して同時並列に処理を行う「データ分割」と、処理を小さな工程に分割する「機能分割」があります。データ量や使用するアルゴリズムによってどのような並列化の手法を採用するかは変わってきます。目的に合わせて、並列化には「マルチスレッド/マルチプロセス」や「SIMD」、「GPU」といった技術が使われます。

表 並列化適用例

左右スクロールで表全体を閲覧できます

分野 アルゴリズム例
画像処理 FFT、DCT、ウェーブレット解析、各種フィルタ、 テンプレートマッチング、動き推定
金融計算 モンテカルロシミュレーション、有限差分法、 ツリーモデル
バイオ 分子動力学法、動的計画法

マルチスレッド/マルチプロセス

マルチスレッドは一つのソフトウェアからCPUの処理の単位であるスレッドを複数生成し、複数の処理を並列で行う技術です。マルチCPU・マルチコアの環境では時間のかかる処理を複数の処理(スレッド)に分けて各コアに割り当て、同時並列に実行することで高速化を図ることができます。

マルチプロセスは複数のソフトウェアを同時に実行する技術です。時間のかかる処理を複数のソフトウェアに分けて各コアに割り当て、同時並列に実行することで高速化を図ることができます。

左右スクロールで表全体を閲覧できます

キーワード マルチスレッド、マルチプロセス、マルチタスク、マルチコア、メニーコア、マルチCPU、ハイパースレッディング、OpenMP、MPI

SIMD (Single Instruction Multiple Data)

SIMDはCPUなどのプロセッサにおいて1命令で複数のデータを処理することのできる技術です。例えば、画像データ全体に加算や乗算を行う処理の場合、1画素ずつ処理を行うのではなく、プロセッサの1回の命令で複数画素に同時に演算を施すことが可能になり高速化を図ることができます。

また、MMX®やSSEといったCPUのSIMD命令は近年多くのCPUに搭載されており、画像を1画素ずつ処理するようなスカラー演算が使われている既存のプログラムをSIMD演算に書き直すことで、追加のハードウェア無しに処理の高速化を図れる場合があります。

  • Intel®コア搭載拡張命令セット例
    MMX、SSE、SSE2、SSE3、SSSE3、SSE4、IntelAVX
  • AMD®コア搭載拡張命令セット
    3DNow!™、SSE、SSE2、SSE3、SSE4a

左右スクロールで表全体を閲覧できます

キーワード SIMD、MMX、SSE、CPU拡張命令

GPU (Graphics Processing Unit)

GPUは従来、3Dグラフィックスの表示に必要な計算処理を行うグラフィックス用のアクセラレータとしてPCに搭載されてきました。GPUにはたくさんのコアが搭載されており、近年はその高い並列計算能力を生かして3Dグラフィックスに限らない汎用の演算にGPUを利用するGPGPU(General-Purpose computing on GPU)が盛んになってきました。

GPUを用いることで、同様の演算が大量に必要となる処理を非常に多数の並列処理に分けて行うことにより計算処理の高速化が可能です。また、メモリバンド幅も広いため、メモリとプロセッサの間のデータ転送がボトルネックになるような計算でも高速化が可能です。

従来は高速化のために専用ハードウェアで行っていた処理をGPUを用いることで、PC上でも高速に動作させることが期待できます。

  • GPU化事例1 「動き推定」
    動画像のエンコードプロセスの「動き推定」の計算をGPU化。CPUに比べ30倍の高速化を達成

左右スクロールで表全体を閲覧できます

CPU版計算時間 GPU版計算時間 高速化率
1565.8[ms] 49.8[ms] 31.5[倍]

CPU:Core™ i7 2.8GHz
GPU: Tesla™ C2050
探索方法:全探索 探索範囲:±96 マクロブロックサイズ:16x16

  • GPU化事例2 「モンテカルロ法」
    ヨーロピアン・オプションのモンテカルロ法による格付け計算をGPU化。CPUに比べ24倍の高速化を達成

左右スクロールで表全体を閲覧できます

CPU版計算時間 GPU版計算時間 高速化率
63500[ms] 2569[ms] 24.7[倍]

CPU:Core™ i7 2.8GHz
GPU: Tesla™ C2050
試行回数:2千万回 計算精度:倍精度浮動小数点数

左右スクロールで表全体を閲覧できます

キーワード GPGPU、GPUコンピューティング、CUDA、Fermi、OpenCL、ハイパフォーマンスコンピューティング

当社は、様々な分野の高速化の課題について上記のような手法で対応いたします。また、各手法を組み合わせ、お客さまのニーズに合わせてさらなる高速化を図ることも可能です。マルチメディア等のリアルタイム処理や、金融等におけるシミュレーション時間の短縮、大量データの演算などの問題解決に貢献します。

  • *Intel、Core、Pentium は、アメリカ合衆国およびその他の国における Intel Corporation またはその子会社の商標または登録商標です。
  • *AMD、3DNow! は、Advanced Micro Devices, Inc. の商標または登録商標です。 Tesla は、NVIDIA Corporation の商標です。
  • *その他記載の製品、サービス名は各社の商標または登録商標です。

お問い合わせ

担当:情報通信研究部
電話:03-5281-5289

関連情報

おすすめソリューション

動画や音声を圧縮する符号化技術や、圧縮されたデータをネットワークの特性に応じて伝送するストリーミング技術の分野で、お客さまの研究開発や事業化などにかかわる課題をコンサルティングベースで解決します。

画像処理・音声処理に関わる研究から開発・事業化までのお客さまの様々なニーズを、これまでに蓄積した技術・ノウハウとコンサルティングベースの課題解決アプローチにより支援します。

ページの先頭へ