2011-01-15 8 views
3

私は、多くのリソースを取っているアルゴリズムを実行しており、CPUを最大限に活用しています。Matlabの複数のコア

問題は1つのCPUだけを使用していることです。

私はMATLABをマルチスレッドで計算し、複数のCPUを使用できますか?

+0

私はそれが可能です知っているあなたは、マルチコアに適した環境を必要とMATLABは –

+0

非常に適していないが、ドキュメントはそれがあると言うんが、私は実際にそれを行う方法を見つけることができませんでした。 –

答えて

2

明示的な並列性を使用してパラレル構成を使用したり、すでに並列化されている組み込み関数を使用したりしない限り、Matlabはマルチコアマシンでは高速に実行されません。この投稿は、並列化されている組み込み関数のリストを持っているので、複数のコアを利用します:

http://www.walkingrandomly.com/?p=1894

ここでは、独自の並列処理をロールバックする並列構造を使用しての例です:

R2007aまたはNでをマルチスレッド化

ファイル>設定>一般>:http://www.mathworks.com/matlabcentral/fileexchange/13775

+0

それはちょうど真実ではありません。並列マシンではより高速に動作します。 –

+0

@ Yochai - 明確にするために編集済みです(既に並列化された関数を使用すると速く実行されます。 – EmeryBerger

+2

+1右ですが、MATLAB自体も基本的な行列操作(乗算、MIN、MAX、INV、SQRT、POW)でも並列化されています。 40K要素よりも大きい行列の場合。しかし、自分の関数をどのように並列化するかの良い例を挙げました。 –

関連する問題