2016-06-29 18 views
0

私は一連のシミュレーションを実行し、結果を保存する必要があります。 Matlabはデフォルトで1つのコアしか使用しないので、複数のワーカータスクを開いて異なるシミュレーション実行を割り当てることが可能かどうか疑問に思いますか?Matlab/Simulink:シミュレーションのバッチを並列実行しますか?

+1

は、私はそれが何をした今、覚えていないエコー。 http://www.mathworks.com/help/simulink/ug/running-parallel-simulations.htmlを参照してください。 – Navan

+0

コードの典型的な例を提供してください(ループ用であるか、使用しているか、最適化アルゴリズムなど)。 、 コードのシリアル実行からパラレル実行に切り替えるのはそれほど簡単ではないことを覚えておいてください。ほとんどの場合、コードを変更して並列実行できるようにする必要があります。 – Soyol

答えて

0

別々のMATLABインスタンスで各シミュレーションを実行し、OSにコア割り当てのプロセスを処理させることができます。

1つのマスターMATLABは、たとえば、シミュレーション結果ファイルが存在するかどうかをチェックする各子インスタンスを同期させることができます。

0

私は同じ問題を抱えていますが、MatLabの作り方を本当に理解することはできませんでした。 MATLABのドキュメントは、それを作る方法を知るにはあまりにも進んでいます。

私はUbuntuので働いているので、私は、だから私は4つのコアと並行して、私のシミュレーションを実行するために疥癬MATLABからUNIXコマンドを呼び出すと並行GNUコマンドに

を使用して作業を行うための方法を見つけます。

unix('parallel --progress -j4 flow > /dev/null :::: Pool.txt','-echo') 

あなたはsyntaxisの Shell, run four processes parallel

詳細はhttps://www.gnu.org/software/parallel/ で見つけることができるリンクでより多くの情報を見つけることができますが、breifly私は

--progressは、進捗状況を示してあなたを伝えることができます

-j4は、並行して使用する金額を指定します。

流れは私のシミュレータ

を/ dev/nullの名前がちょうど

Pool.txtは、私がある、必要なシミュレータ入力で作られたファイルであるに表示するために、シミュレータの画面の実行出力を避けるためだったです基本的にはパスとメインシミュレータファイルです。あなたは、並列シミュレーションを実行するためのparforを使用することができますD

関連する問題