ご依頼内容

ある装置に使用するアルゴリズムの計算処理に関し、Matlabで、現状1分以上かかっているのを、2秒以内まで、約50倍の高速化をして欲しい。

課題

  • 装置に組み込むため、実時間(処理時間が短い)かつ、信頼性の高い安定した処理が必須。

ソリューション

ソリューションは、次の通り。

  • Matlabで、Forループによる計算を、行列計算に変更。
  • Matlabで、Forループによる関数呼び出しを、行列入力と行列出力に変更。
  • 2次元のFFTに関して、CUDAを用いて、GPU処理で高速化(オプション1)。
  • 2次元のFFTに関して、OpenCVと、intelのIPPの併用により高速化(オプション2)。
  • マルチコアのCPUに対し、マルチスレッド化して、処理の並列化による高速化。

SpeedUp3

結果

Matlabで1分以上かかっていた処理を、お客様からご指定のあった、2秒以内に短縮した。

Matlab処理の高速化には、Forループの行列化、関数入出力の変更等の手法があり、また外部のライブラリを使用可能であれば、mex化、GPU処理、IPP利用、マルチスレッド化等、様々な方法があります。
お客様のアルゴリズムごとに、やり方は異なりますので、高速化をご検討の方は、お気軽にお問い合わせ下さい。

お問い合わせ

開発事例にご興味ありましたら、お気軽にお問い合わせ下さい。
下記の、「今すぐお問い合わせ」をクリックして、フォームにご記入下さい。
早急に回答致します。
 
LP_imasugu_toiawase