ご依頼内容
ある装置に使用するアルゴリズムの計算処理に関し、Matlabで、現状1分以上かかっているのを、2秒以内まで、約50倍の高速化をして欲しい。
課題
- 装置に組み込むため、実時間(処理時間が短い)かつ、信頼性の高い安定した処理が必須。
ソリューション
ソリューションは、次の通り。
- Matlabで、Forループによる計算を、行列計算に変更。
- Matlabで、Forループによる関数呼び出しを、行列入力と行列出力に変更。
- 2次元のFFTに関して、CUDAを用いて、GPU処理で高速化(オプション1)。
- 2次元のFFTに関して、OpenCVと、intelのIPPの併用により高速化(オプション2)。
- マルチコアのCPUに対し、マルチスレッド化して、処理の並列化による高速化。
結果
Matlabで1分以上かかっていた処理を、お客様からご指定のあった、2秒以内に短縮した。
Matlab処理の高速化には、Forループの行列化、関数入出力の変更等の手法があり、また外部のライブラリを使用可能であれば、mex化、GPU処理、IPP利用、マルチスレッド化等、様々な方法があります。
お客様のアルゴリズムごとに、やり方は異なりますので、高速化をご検討の方は、お気軽にお問い合わせ下さい。
お客様のアルゴリズムごとに、やり方は異なりますので、高速化をご検討の方は、お気軽にお問い合わせ下さい。
お問い合わせ
開発事例にご興味ありましたら、お気軽にお問い合わせ下さい。
下記の、「今すぐお問い合わせ」をクリックして、フォームにご記入下さい。
早急に回答致します。