複数のシミュレ,ションワ,クフロ,の比較
複数のシミュレ,ションのセットを実行する場合,それらを並列プ,ル内の複数のmatlab®ワ,カ,上で並列実行できます。複数のシミュレ,ションを実行するには,parsim
、“RunInBackground”
オプションをオンにしたparsim
,またはbatchsim
を使用できます。
フロ,チャ,トでは,parsim
、RunInBackground
をもparsim
およびbatchsim
を使用した複数のシミュレ,ションの実行の違いを示します。
parsim
およびbatchsim
コマンドは,并行计算工具箱™ライセンスを使用して,シミュレーションを並列実行します。parsim
は,並列プールが作成できない場合または并行计算工具箱ライセンスが利用できない場合,シミュレーションを逐次実行します。batchsim
コマンドは,并行计算工具箱ライセンスがないと実行できません。
parsim
ワクフロ
複数のシミュレ,ションを実行するために,并行计算工具箱でparsim
コマンドを使用すると,並列プ,ルが自動的に設定され,シミュレ,ションが並列実行されます。クラアントは常にmatlabワカに関連付けられています。
標準parsim
ワクフロ
モデルへの変更を指定するために
万博1manbetx仿真软件。SimulationInput
オブジェクトの配列在
を作成します。複数のシミュレションの実行に必要な1回限りの設定を指定します。
SetupFcn
およびTransferBaseWorkspaceVariables
を使用して,並列ワ,カ,上で設定を実行します。parsim(中)
を実行して,これらの複数のシミュレ,ションを並列実行します。並列プ,ルが存在しない場合,parsim
が作成します。parsim
は既定の設定を使用します。parsim(“SimulationManager”,“上”)
のようにparsim
の“SimulationManager”
引数を“上”
に設定して,シミュレ,ションマネ,ジャ,を開くことができます。シミュレションマネジャにより、実行しているシミュレーションを監視し、シミュレーションの出力が準備できるとこれにアクセスできます。シミュレーション マネージャーによって、ワーカー上で実行しているシミュレーションに関する情報が得られます。詳細については、シミュレションマネジャを参照してください。すべてのシミュレ,ションが完了すると,
万博1manbetx仿真软件。SimulationOutput
オブジェクトの配列が得られます。
制限
MATLABセッションを閉じると,ワーカー上のシミュレーションが停止し,部分的な結果を取得できません。
RunInBackground
ワ,クフロ,でのparsim
モデルへの変更を指定するために
万博1manbetx仿真软件。SimulationInput
オブジェクトの配列在
を作成します。複数のシミュレションの実行に必要な1回限りの設定を指定します。
SetupFcn
およびTransferBaseWorkspaceVariables
を使用して,並列ワ,カ,上で設定を実行します。parsim(“RunInBackground”,“上”)
のようにRunInBackground
オプションを“上”
に設定してparsim
を実行します。“RunInBackground”
オプションを“上”
に設定してシミュレ,ションを非同期で実行します。これにより,MATLABコマンドプロンプトを利用し続けることができ,他のタスクでの作業が可能です。“RunInBackground”
オプションを“上”
に設定すると,parsim
は万博1manbetxSimulink.Simulation.Future
オブジェクトを返します。このオブジェクトをポーリングして,シミュレーションのステータスの確認,シミュレーション完了時の出力の取得またはシミュレーションのキャンセルを行うことができます。詳細にいては,万博1manbetxSimulink.Simulation.Future
を参照してください。
制限
MATLABセッションを閉じると,ワーカー上のシミュレーションが停止し,部分的な結果を取得できません。
未来
オブジェクトが消去されると,その後,シミュレ,ションの結果にアクセスできなくなります。未来
オブジェクトでfetchNext
メソッドル,プをシミュレ,ションマネ,ジャ,と共に使用すると,未来
オブジェクトの取得で競合が発生します。完了したシミュレ,ションの出力を取得するには,fetchNext
メソッドル,プまたはシミュレ,ションマネ,ジャ,のいずれかを使用します。
batchsim
ワクフロ
バッチワークフローは通常,MATLABワーカー上でシミュレーションを実行するジョブを送信し,その後それらのシミュレーションの結果にアクセスすることを意味します。シミュレ,ションをバッチで実行する場合,シミュレ,ションの実行を計算クラスタ,にオフロ,ドします。バッチ処理の詳細にいては,シンプルなバッチ処理(并行计算工具箱)を参照してください。
モデルへの変更を指定するために
万博1manbetx仿真软件。SimulationInput
オブジェクトの配列在
を作成します。複数のシミュレションの実行に必要な1回限りの設定を指定します。
SetupFcn
およびTransferBaseWorkspaceVariables
を使用して,並列ワ,カ,上で設定を実行します。クラスタ,またはデスクトップバックグラウンドで実行するには,
batchsim
を呼び出し,シミュレ,ションの実行をオフロ,ドします。batchsim
では,parsim
コマンドおよび批处理
コマンドと互換性のある大部分の引数を使用できます。詳細にいては,batchsim
を参照してください。batchsim
を使用して,シミュレ,ションをmatlabワ,カ,にオフロ,ドします。バッチジョブを複数のワ,カ,で実行するには,batchsim(in, 'Pool', N)
のように,ジョブの並列プルに作成するワカの数を指定する整数であるプルサズN
を指定します。少なくともN + 1
個のワ,カ,がクラスタ,で利用できなければなりません。プルサズが指定されていない場合,batchsim(中)
は,既定のクラスタープロファイルで指定されたクラスター内の単一のワーカー上でシミュレーションを実行します。メモ
并行计算工具箱ライセンスが利用できない場合に,プールサイズを指定して使用すると,
batchsim
エラ,が発生します。batchsim
がシミュレーションを計算クラスターにオフロードすると,バッチジョブの処理中に他のタスクを実行したり,クライアントのMATLABを閉じて,バッチジョブに後でアクセスしたりできます。バッチジョブの送信時に,
batchsim
はジョブオブジェクトを返します。これには,後でバッチジョブにアクセスする際に使用できるジョブIDおよびその他の情報が含まれています。このジョブに再度アクセスすると,シミュレ,ションの進行状況を確認できます。
制限
クライアントセッションがワーカーに関連付けられていないため,ジョブが完了しないと出力にアクセスできません。
batchsim
では,シミュレ,ションマネ,ジャ,を使用してシミュレ,ションを監視できません。バッチジョブの場合,ジョブがキューに入っているか,処理中か,完了しているかを示すバッチジョブモニターを使用できます。詳細にいては,ジョブモニタ(并行计算工具箱)を参照してください。
参考
関数
parsim
|batchsim
|批处理
(并行计算工具箱)|parcluster
(并行计算工具箱)|getSimulationJobs
クラス
万博1manbetx仿真软件。SimulationInput
|万博1manbetxSimulink.Simulation.Job
|万博1manbetxSimulink.Simulation.Future