バッチジョブとしてスクリプトを実行
この例では,批处理
を使用して,バックグラウンドで実行されるMATLABワーカーセッションに作業をオフロードする方法を説明します。
計算の実行中も引き続きmatlabを使用できます。
関数批处理
を使用して,スクリプトをバッチジョブとして実行します。既定で,批处理
は既定のクラスタプロファルを使用します。既定のクラスタプロファルは,matlabの[ホ,ム]タブの[環境]セクションの[並列]、[並列環境を選択]で確認します。または,名前と値のペアの引数“配置文件”
を使用してクラスタプロファルを指定することもできます。
作业=批处理(“myScript”);
批处理
はmatlabをブロックしないため,計算の実行中に作業を続行できます。
ジョブが完了するまでmatlabをブロックする場合は,ジョブオブジェクトに対して関数等待
を使用します。
等待(工作);
既定では,MATLABはバッチジョブからのコマンドウィンドウの出力をジョブのダイアリに保存します。これを取得するには,関数日记
を使用します。
日记(工作)
——开始日记——n = 100——结束日记——
ジョブの完了後,関数负载
を使用して結果を取得します。
负载(工作,“x”);情节(x)
バッチジョブのすべての変数を読み込むには,代わりに加载(工作)
を使用します。
必要な変数をすべて読み込んだら,ジョブオブジェクトを削除してデータをクリーンアップし,不必要にリソースが消費されないようにします。
删除(工作);清晰的工作
批处理
を使用してスクリプトファイルを送信すると,MATLABはスクリプトで使用しない場合でも,すべてのワークスペース変数をクラスターに転送します。大規模なワ,クスペ,スのデ,タ転送時間は長くなる場合があります。ベストプラクティスとして,スクリプトを関数ファイルに変換することにより,この通信オーバーヘッドを回避します。関数を使用する例にいては,バッチジョブの実行とワカからのファルへのアクセスを参照してください。
批处理
の高度なオプションにいては,バッチジョブの実行とワカからのファルへのアクセスを参照してください。