2013-10-11 28 views
0

我有一個關於加速由MATLAB軟件建立的應用程序的問題,我需要知道使用向量化和並行計算對加速應用程序的影響嗎?如果在這種情況下有比以前更好的方法?謝謝加速MATLAB應用的方法

+0

這取決於具體情況。你有任何你想加速的代碼嗎? – thewaywewalk

+0

看看http://www.mathworks.com/discovery/matlab-gpu.html – Vuwox

回答

3

當你的MATLAB代碼運行速度太慢時,你需要做的第一件事是在profiler中運行它。在MATLAB的最新版本中,可以通過按主工具欄上的「運行和時間」按鈕來完成。這樣,您現在將瞭解哪些功能以及這些功能中的哪些行佔用了大部分時間。一旦你知道了這一點,你可以做下列操作之一,根據您的情況和特定的代碼塊的性質:

  • 想想,如果你的算法是O換算最優化的一個()的複雜性。
  • 嘗試將循環轉換爲矢量操作。由於改進了循環的執行方式,在最近版本的MATLAB中,這種功能已經下降。
  • 如果您有多核CPU,請嘗試使用parallel computing toolbox。如果你的代碼很好地並行化,你會得到一個幾乎等於內核數量的速度。
  • 如果您有nVidia GPU,請嘗試使用GPU support。有些問題可以使速度提高10倍或更多,但並非所有問題都可以通過這種優化進行調整。
  • 如果一切都失敗了,您可以將最慢的一段代碼外包給C這樣的低級語言。有關如何執行此操作,請參見here。然後,您可以使用像英特爾vTune這樣的低級別分析工具從低級代碼中獲得絕對最大速度。
  • 如果它仍然太慢,您可能需要購買一個FPGA。請參閱here獲取簡要教程。