主要内容

複数のシミュレ,ションワ,クフロ,の比較

複数のシミュレ,ションのセットを実行する場合,それらを並列プ,ル内の複数のmatlab®ワ,カ,上で並列実行できます。複数のシミュレ,ションを実行するには,parsim“RunInBackground”オプションをオンにしたparsim,またはbatchsimを使用できます。

フロ,チャ,トでは,parsimRunInBackgroundをもparsimおよびbatchsimを使用した複数のシミュレ,ションの実行の違いを示します。

parsimおよびbatchsimコマンドは,并行计算工具箱™ライセンスを使用して,シミュレーションを並列実行します。parsimは,並列プールが作成できない場合または并行计算工具箱ライセンスが利用できない場合,シミュレーションを逐次実行します。batchsimコマンドは,并行计算工具箱ライセンスがないと実行できません。

parsimワクフロ

複数のシミュレ,ションを実行するために,并行计算工具箱でparsimコマンドを使用すると,並列プ,ルが自動的に設定され,シミュレ,ションが並列実行されます。クラアントは常にmatlabワカに関連付けられています。

標準parsimワクフロ

  1. モデルへの変更を指定するために万博1manbetx仿真软件。SimulationInputオブジェクトの配列を作成します。

  2. 複数のシミュレションの実行に必要な1回限りの設定を指定します。SetupFcnおよびTransferBaseWorkspaceVariablesを使用して,並列ワ,カ,上で設定を実行します。

  3. parsim(中)を実行して,これらの複数のシミュレ,ションを並列実行します。並列プ,ルが存在しない場合,parsimが作成します。parsimは既定の設定を使用します。

  4. parsim(“SimulationManager”,“上”)のようにparsim“SimulationManager”引数を“上”に設定して,シミュレ,ションマネ,ジャ,を開くことができます。シミュレションマネジャにより、実行しているシミュレーションを監視し、シミュレーションの出力が準備できるとこれにアクセスできます。シミュレーション マネージャーによって、ワーカー上で実行しているシミュレーションに関する情報が得られます。詳細については、シミュレションマネジャを参照してください。

  5. すべてのシミュレ,ションが完了すると,万博1manbetx仿真软件。SimulationOutputオブジェクトの配列が得られます。

制限

  • MATLABセッションを閉じると,ワーカー上のシミュレーションが停止し,部分的な結果を取得できません。

RunInBackgroundワ,クフロ,でのparsim

  1. モデルへの変更を指定するために万博1manbetx仿真软件。SimulationInputオブジェクトの配列を作成します。

  2. 複数のシミュレションの実行に必要な1回限りの設定を指定します。SetupFcnおよびTransferBaseWorkspaceVariablesを使用して,並列ワ,カ,上で設定を実行します。

  3. parsim(“RunInBackground”,“上”)のようにRunInBackgroundオプションを“上”に設定してparsimを実行します。“RunInBackground”オプションを“上”に設定してシミュレ,ションを非同期で実行します。これにより,MATLABコマンドプロンプトを利用し続けることができ,他のタスクでの作業が可能です。

  4. “RunInBackground”オプションを“上”に設定すると,parsim万博1manbetxSimulink.Simulation.Futureオブジェクトを返します。このオブジェクトをポーリングして,シミュレーションのステータスの確認,シミュレーション完了時の出力の取得またはシミュレーションのキャンセルを行うことができます。詳細にいては,万博1manbetxSimulink.Simulation.Futureを参照してください。

制限

  • MATLABセッションを閉じると,ワーカー上のシミュレーションが停止し,部分的な結果を取得できません。未来オブジェクトが消去されると,その後,シミュレ,ションの結果にアクセスできなくなります。

  • 未来オブジェクトでfetchNextメソッドル,プをシミュレ,ションマネ,ジャ,と共に使用すると,未来オブジェクトの取得で競合が発生します。完了したシミュレ,ションの出力を取得するには,fetchNextメソッドル,プまたはシミュレ,ションマネ,ジャ,のいずれかを使用します。

batchsimワクフロ

バッチワークフローは通常,MATLABワーカー上でシミュレーションを実行するジョブを送信し,その後それらのシミュレーションの結果にアクセスすることを意味します。シミュレ,ションをバッチで実行する場合,シミュレ,ションの実行を計算クラスタ,にオフロ,ドします。バッチ処理の詳細にいては,シンプルなバッチ処理(并行计算工具箱)を参照してください。

  1. モデルへの変更を指定するために万博1manbetx仿真软件。SimulationInputオブジェクトの配列を作成します。

  2. 複数のシミュレションの実行に必要な1回限りの設定を指定します。SetupFcnおよびTransferBaseWorkspaceVariablesを使用して,並列ワ,カ,上で設定を実行します。

  3. クラスタ,またはデスクトップバックグラウンドで実行するには,batchsimを呼び出し,シミュレ,ションの実行をオフロ,ドします。batchsimでは,parsimコマンドおよび批处理コマンドと互換性のある大部分の引数を使用できます。詳細にいては,batchsimを参照してください。

    batchsimを使用して,シミュレ,ションをmatlabワ,カ,にオフロ,ドします。バッチジョブを複数のワ,カ,で実行するには,batchsim(in, 'Pool', N)のように,ジョブの並列プルに作成するワカの数を指定する整数であるプルサズNを指定します。少なくともN + 1個のワ,カ,がクラスタ,で利用できなければなりません。プルサズが指定されていない場合,batchsim(中)は,既定のクラスタープロファイルで指定されたクラスター内の単一のワーカー上でシミュレーションを実行します。

    メモ

    并行计算工具箱ライセンスが利用できない場合に,プールサイズを指定して使用すると,batchsimエラ,が発生します。

  4. batchsimがシミュレーションを計算クラスターにオフロードすると,バッチジョブの処理中に他のタスクを実行したり,クライアントのMATLABを閉じて,バッチジョブに後でアクセスしたりできます。

  5. バッチジョブの送信時に,batchsimはジョブオブジェクトを返します。これには,後でバッチジョブにアクセスする際に使用できるジョブIDおよびその他の情報が含まれています。このジョブに再度アクセスすると,シミュレ,ションの進行状況を確認できます。

制限

  • クライアントセッションがワーカーに関連付けられていないため,ジョブが完了しないと出力にアクセスできません。

  • batchsimでは,シミュレ,ションマネ,ジャ,を使用してシミュレ,ションを監視できません。バッチジョブの場合,ジョブがキューに入っているか,処理中か,完了しているかを示すバッチジョブモニターを使用できます。詳細にいては,ジョブモニタ(并行计算工具箱)を参照してください。

参考

関数

クラス

関連するトピック