主要内容

。

バッチジョブの実行ととワーカーからのファイルへのの

をををオフロードしバックグラウンドですることができことができことができがでファイルへのアクセスがななへのは必要なファイルへのは必要なへのははななへのは必要ななへのは必要なファイルことができははななへことができははななへことができはなな场场l'附加的文件''含量径'などの追加オプションオプションてて,データをアクセス可にできでき。

例の制备

次のコマンドを使て,この例のサポートファイルををコピーします。

准备港口;金宝app

バッチジョブの実行

Parcluster.を使使しクラスターオブジェクトを作物。既定で,Parcluster.ははのクラスタープロファイルををし。既定のクラスタープロファイル,matlabの[ホーム]タブの[环境]セクションの[并列][既定のクラスターの选択]で确认します。

c = parcluster();

关关内にコードをし,をを用してバッチジョブ投入します。カスタム关键词はは,サポート关联myfunction.必要をしてください。必要必要な力分数の,细胞配列を,关键词のます。

コードで并列プールがががさている场合,名称と値のペアペア幂'水池'を使用して,指定した数のワーカーがある并列プールを作成します。は追加のワーカーワーカーをて关有关部自身ををしします。

既定では,ははワーカーの初作を,matlabクライアントの现处于ののフォルダーに変更ししの制御制御がが便たとえばたとえばがありありますありありありありてててがてがが异なり异なり(WindowsクライアントマシンからLinuxクラスターに诚信するする合书号),そのためにパスが异なる异なる合书,この制御が必要となるなるありますますますます。

  • ワーカーの初期作业ディレクトリディレクトリを保持,既定の设定设定使使する合并は,'currentfolder''。'に设定します。

  • 初期作业ディレクトリを変更するには,'currentfolder'を目的のフォルダーににします。

この例では,3つのワーカーがある并列プールを使用して,初期作业ディレクトリの一时的な场所を选択しています。

作业=批处理(c,@ myfunction,1,{},......'水池',3,......'currentfolder',Tempdir);

これにより,计算の実オフロードももでででます。

ジョブが完了するまでmatlabをブロックするする合并,ジョブジョブに対して关联等待を使用します。

等待(工作);

结果を取得するに,ジョブオブジェクトに対してfetchOutputs.を使用します。

コードにエラーがあるある合,fetchOutputs.はエラーをスローします。エラー情情にするに,ジョブの任务オブジェクトの错误このこの例で,このはで,コードコードはワーカーが検出できファイルに依存依存していいファイルにに依存していい

getReport(Job.Tasks(1).Error)
ANS ='使用MyFunction(第4行)错误无法读取文件'mydata2.dat'。没有这样的文件或目录。'

ワーカーワーカーからのファイルファイルへの

既定では,は自行,転送はしませしはばません転送し时なけれなりませを転送しによってになりませたとえば転送しによってにませ场ワーカーしによってはなりませし転送によってファイルをませ解析転送しのファイルを的解析しによってによってにませ解析ししによって転送なりを解析しててしをししてててししししししししししししし。

この例では,myfunction.はサポートファイルmydata.dat.にアクセスします。はこのファイルを自动的におよびおよびします。附近はmydata1.dat.にもアクセスします,ファイル名は実行时に解决れるため,依存关键字れる自动解析でこのファイルは検出されませんこのファイル

类型myfunction.m ..
函数x = myfunction()a = load(“mydata.dat”);x =零(翻转(尺寸(a)));parcon i = 1:3 b = load(“mydata”+ i +“。dat”);x = x + a \ b;结束

ワーカーがアクセスできる场所にデータが存在するする综合,名称と値のペアの幂'含量径'をを用ししてその场所场所指定できできでき指定できでき'含量径'によりによりこのパスががワーカーのの検索検索パスに认识れになりなりなりになりなりなりなりなりなりなりなりなり

pathtodata = PWD;作业(2)=批处理(C,@ myFunction,1,{},......'水池',3,......'currentfolder',Tempdir,......'含量径',pathtodata);等待(工作(2));

ワーカーがアクセスできない场所にデータがが存存存场场场综合,名称と値のペア幂'附加的文件'を使用してファイルをワーカーに転送することができます。

作业(3)=批处理(c,@ myfunction,1,{},......'水池',3,......'currentfolder',Tempdir,......'附加的文件'“mydata”+字符串(1:3)+“.dat”);

既存のジョブの検索

ジョブの投入にmatlabを闭じて,结果を后で取得する.matlabを闭じるに,ジョブidをメモておいおいくださいくださいください。

Job3ID =作业(3)。地
Job3ID = 19.

もう一度matlabを开启たときに,关联找工作をを用ししてこのジョブジョブ検索できできでき検索できでき

作业(3)= findjob(c,'ID',job3id);等待(工作(3));

これ,ジョブモニターを使するてジョブ追迹するもできますますますますます。[ホーム]タブの[环境]セクションで[并列][ジョブの监视]を选択します。

结果结果の取得ととデータクリーンクリーン

バッチバッチジョブの结果结果を取得するにははにはにfetchOutputs.を使用します。fetchOutputs.は,でで行さた关键词

X = fetchOutputs(作业(3))
X =1×1个单元阵列{40×207双}

必要な出力量が取得され,ジョブオブジェクトがこれ以上必要ではないは,ジョブオブジェクトをしてをアップし,リソースをししししししししししししししししししししししししししし

删除(工作)清除工作

参考

|||