createJob
クラスターに独立ジョブを作成する
構文
job = createJob(cluster)
job = createJob(...,'p1
',v1,'p2
',v2,...)
job = createJob(...,'Profile','profileName',...)
引数
| ジョブ オブジェクト |
|
|
| オブジェクト作成時に構成されるオブジェクト プロパティ |
| 対応するオブジェクト プロパティの初期値 |
説明
job = createJob(cluster)
は、指定されたクラスターに独立ジョブ オブジェクトを作成します。
ジョブのデータはクラスターの JobStorageLocation
プロパティで指定された場所に格納されます。
job = createJob(...,'
は、指定されたプロパティ値をもつジョブ オブジェクトを作成します。作成されたオブジェクトの有効なプロパティのリストは、p1
',v1,'p2
',v2,...)parallel.Job
オブジェクトのリファレンス ページを参照してください。プロパティ名は文字ベクトルでなければならず、その値はそのプロパティに適した型でなければなりません。ほとんどの場合、これらのプロパティと値のペアで指定された値によって、プロファイルの値がオーバーライドされます。
計算をワーカーにオフロードするとき、クライアント上での計算に必要なファイルもすべてワーカー上で使用可能でなければなりません。既定では、クライアントはそのようなファイルを自動的に検出して追加しようとします。自動検出をオフにするには、AutoAttachFiles
プロパティを false に設定します。自動検出ですべてのファイルを検出できない場合や、クライアントからワーカーへのファイルの送信速度が遅い場合は、以下のプロパティを使用します。
ワーカー上でアクセスできないフォルダーにファイルが含まれている場合は、
AttachedFiles
プロパティを設定します。クラスターによって、指定した各ファイルがクライアントからワーカーへコピーされます。ワーカー上でアクセスできるフォルダーにファイルが含まれている場合は、代わりに
AdditionalPaths
プロパティを設定できます。AdditionalPaths
プロパティを使用して各ワーカーの MATLAB® 検索パスにパスを追加することで、クライアントからワーカーへ不必要にファイルがコピーされることを回避します。
AttachedFiles
または AdditionalPaths
を指定する場合は、その値が、該当するプロファイルで指定されている値と結合されます。無効なプロパティ名またはプロパティ値が指定された場合、オブジェクトは作成されません。
job = createJob(...,'Profile','profileName',...)
は、プロファイル 'profileName'
で指定されたプロパティ値をもつ独立ジョブ オブジェクトを作成します。プロファイルが指定されず、クラスターの 'Profile'
プロパティに値が指定されている場合は、自動的にクラスターのプロファイルが適用されます。プロファイルの定義と適用についての詳細は、クラスターの検出とクラスター プロファイルの使用を参照してください。
例
既定のプロファイルを使用して独立ジョブ オブジェクトを作成します。
c = parcluster j = createJob(c);
ジョブにタスクを追加します。
for i = 1:10 createTask(j,@rand,1,{10}); end
ジョブを実行します。
submit(j);
ジョブの実行完了を待ち、ジョブの結果を取得します。
wait(j); out = fetchOutputs(j);
3 番目のタスクから返された乱数行列を表示します。
disp(out{3});
ジョブを削除します。
delete(j);
既定のプロファイルで指定されたファイルの他に付加のファイルを加えて、独立ジョブを作成します。
c = parcluster j = createJob(c,'AttachedFiles',... {'myapp/folderA','myapp/folderB','myapp/file1.m'});