ご依頼内容

ある装置に使用するアルゴリズムの計算処理に関し、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利用、マルチスレッド化等、様々な方法があります。
お客様のアルゴリズムごとに、やり方は異なりますので、高速化をご検討の方は、お気軽にお問い合わせ下さい。

本事例のご利用サービス

このページの解析は、下記のサービスで承っています。同様のご相談は、お気軽にお問い合わせください。

MATLABプログラム高速化サービス

MATLABプログラム高速化サービス

MATLABプログラムの処理速度改善を、原因の診断から実施します。計算結果を変えずに、速くする。実績例: 68.5秒→1.46秒(47倍)。

詳しく見る

関連するサービス

MATLABプログラム開発サービス

MATLABプログラム開発サービス

MATLAB開発依頼先をお探しのあなたへ。「サクッ」と開発。丁寧な説明、フレキシブルな対応、リーズナブルな価格設定。

詳しく見る

その他のサービスは、「ソフトウェア開発サービス一覧」を、ご参考にしてください。

お問い合わせ

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