Main Content

createJob

クラスターに独立ジョブを作成する

    説明

    job = createJob(myCluster) は、指定されたクラスター上の独立ジョブおよびクライアント上の独立ジョブ オブジェクトを作成します。

    ジョブのデータはクラスターの JobStorageLocation プロパティで指定された場所に格納されます。

    job = createJob(myCluster,Name,Value) は、Profile も指定するか、ジョブの作成時に 1 つ以上のオプションの名前と値の引数を使用して独立ジョブのプロパティを設定します。有効なプロパティのリストは、parallel.Job オブジェクトのリファレンス ページを参照してください。

    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})
        0.9730    0.1454    0.7662    0.9601    0.0836    0.9843    0.2656    0.8780    0.1748    0.2112
        0.7104    0.6426    0.9654    0.9145    0.6432    0.4296    0.4141    0.6507    0.7349    0.9729
        0.3614    0.3250    0.9843    0.8676    0.5964    0.1125    0.1687    0.2207    0.8327    0.7751
        0.2934    0.8229    0.9601    0.1388    0.8854    0.5494    0.1708    0.6235    0.0617    0.1119
        0.1558    0.8728    0.1856    0.2842    0.8472    0.5912    0.8205    0.3761    0.1292    0.8711
        0.3421    0.2005    0.9495    0.4687    0.8467    0.1968    0.7528    0.0899    0.8172    0.3892
        0.6071    0.9987    0.2639    0.0828    0.7554    0.7506    0.6331    0.0035    0.8602    0.4818
        0.5349    0.8446    0.1578    0.1702    0.6472    0.0087    0.8810    0.3619    0.6499    0.8299
        0.4118    0.9079    0.4784    0.5140    0.5163    0.5712    0.1639    0.7487    0.6486    0.7195
        0.1020    0.0982    0.2994    0.2809    0.4726    0.4986    0.3940    0.0096    0.3214    0.6705
    

    ジョブを削除します。

    delete(j);

    独立ジョブを作成し、既定のプロファイルで指定されたファイルの他にファイルを付加します。

    c = parcluster;
    j = createJob(c,'AttachedFiles',...
            {'myapp/folderA','myapp/folderB','myapp/file1.m'});

    入力引数

    すべて折りたたむ

    クラスター。クラスター計算リソースを表す parallel.Cluster オブジェクトとして指定します。parallel.Cluster オブジェクトを作成するには、関数 parcluster を使用します。

    例: myCluster = parcluster; job = createJob(myCluster);

    データ型: parallel.Cluster

    名前と値の引数

    オプションの引数ペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

    R2021a 以前は、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みました。

    例: job = createJob(myCluster, 'AdditionalPaths',["/additional/path1","/additional/path2"]) は、myCluster で表されたクラスター上で独立ジョブを作成し、path1 および path2 フォルダーをすべてのワーカーの MATLAB® 検索パスに追加します。

    標準の名前と値の引数

    すべて折りたたむ

    ジョブ オブジェクトに適用するプロパティ値が含まれたクラスター プロファイル。'Profile' と文字ベクトルまたは string としてのプロファイル名で構成されるコンマ区切りのペアとして指定します。プロファイルを指定せず、クラスターの 'Profile' プロパティに値が指定されている場合は、MATLAB は自動的にクラスターのプロファイルを適用します。プロファイルの定義と適用の詳細については、クラスターの検出とクラスター プロファイルの使用を参照してください。

    例: createJob(myCluster,'Profile',"myProfileName")

    データ型: char | string

    プロパティの名前と値の引数

    すべて折りたたむ

    ジョブを実行するワーカーの MATLAB 検索パスに追加するパス。文字ベクトル、string、string 配列、または文字ベクトルの cell 配列として指定します。

    クライアントとワーカーが同じフォルダーに対し異なるパスをもつ場合、ワーカーのパスを使用してフォルダーを指定しなければなりません。たとえば、フォルダーへのパスがクライアントでは /shared/data、ワーカーでは /organization/shared/data である場合は、"/organization/shared/data" を指定します。

    "../myFolder" のような相対パスを指定する場合、MATLAB は、パスをワーカーの現在の作業ディレクトリを基準として解決します。

    例: "AdditionalPaths",["/path/to/folder1","path/to/folder2"]

    データ型: char | string | cell

    ジョブ オブジェクトに付加するファイルおよびフォルダー。文字ベクトル、string、string 配列、または文字ベクトルの cell 配列として指定します。この引数は、指定されたファイルおよびフォルダーを、ジョブでタスクを実行するワーカーが使用できるようにします。

    Profile プロパティを指定し、プロファイルまたは myCluster プロファイルに AttachedFiles プロパティの値が既に含まれている場合、MATLAB は、ここで指定したファイルとフォルダーを既存の AttachedFiles の値に追加します。

    例: "AttachedFiles", {'data_set.m','folder_for_workers'}

    データ型: char | string | cell

    メモ

    ここにリストされているプロパティは、ほんの一部です。有効なプロパティの完全な一覧については、parallel.Job オブジェクトのリファレンス ページを参照してください。

    ヒント

    • コードの開発とテストを行うには、クライアント マシン上のローカル クラスターでバッチ ジョブを実行します。MATLAB セッションを閉じると、ローカル クラスターを使用するバッチ ジョブもすべてただちに停止します。

    • 作業をリモート クラスターにオフロードすると、ジョブの処理中に MATLAB クライアント セッションを閉じ、後から、あるいは新しいクライアント セッションでバッチ ジョブから情報を取得できます。

    • 計算をワーカーにオフロードするときに、クライアント上での計算に必要なファイルもすべてワーカー上で使用可能でなければなりません。既定で、クライアントはそれらのファイルを検出して追加しようとします。自動検出をオフにするには、AutoAttachFiles プロパティを false に設定します。ソフトウェアがいずれかのファイルを検出できない場合や、クライアントからワーカーへのファイルの送信速度が遅い場合には、以下のいずれかのオプションを使用します。

      • ワーカー上でアクセスできないフォルダーにファイルが含まれている場合は、AttachedFiles プロパティを設定します。指定した各ファイルが、クラスターによってクライアントからワーカーにコピーされます。

      • ワーカー上でアクセスできるフォルダーにファイルが含まれている場合は、代わりに AdditionalPaths プロパティを設定できます。AdditionalPaths プロパティを使用して各ワーカーの MATLAB 検索パスにパスを追加し、クライアントからワーカーへの不必要なファイルのコピーを回避します。

    バージョン履歴

    R2006a より前に導入