メインコンテンツ

サンプル プラグイン スクリプトの動作のカスタマイズ

Parallel Computing Toolbox™ は一連のプラグイン スクリプトを使用して、クライアントがサードパーティ製スケジューラとどのように通信するかを定義します。AdditionalProperties を使用してサードパーティの組み込みまたは汎用のクラスター プロファイルまたはクラスター オブジェクトに追加プロパティを設定することにより、プラグイン スクリプトの動作を変更できます。

追加のプロパティ

サンプル プラグイン スクリプトでは、以下のプロパティを設定できます。

すべてのスケジューラのプロパティ

プロパティ説明データ型

AdditionalSubmitArgs

ジョブの投入に関するスケジューラの追加の引数。サンプル プラグイン スクリプトは、このプロパティ値をスケジューラの投入文字列に追加します。

String

AuthenticationMode

クラスターに接続する際の認証方法を示すオプション。次のいずれかとして指定します。

  • "Agent" – クライアントはクライアント マシン上で実行される SSH エージェントと連動します。SSH エージェント認証では PPK 形式のキーはサポートされません。OpenSSH 形式のキーのみがサポートされます。

  • "IdentityFile" – クライアントは追加の IdentityFile プロパティで指定された ID ファイルを使用します。

  • "Multifactor" – クライアントにより 1 回以上の入力が要求されます。たとえば、クライアント上で 2 要素認証 (2FA) が有効になっている場合、クライアントによりパスワードと 2 番目の認証要素に対する応答を要求されます。

  • "Password" – クライアントにより SSH パスワードが要求されます。ユーザー名は追加の Username プロパティで指定されます。

String

String array

ClusterHost

ジョブを投入するスケジューラ ユーティリティをもつクラスター マシンのホスト名。これは、クラスターがスケジューラにジョブを直接投入できない場合に使用します。

クラスター マシンは Linux を実行する必要があります。

String

DisplaySubmitArgs

ジョブの投入フラグと、ジョブの投入時にスケジューラに渡すオプションを表示するオプション。フラグとオプションはコマンド ラインに表示されます。

Logical

IdentityFile

クラスターのホスト マシン上でユーザーを識別する SSH の ID ファイルがあるクライアント マシン上の場所。

String

String array

IdentityFileHasPassphrase

ID ファイルのパスフレーズを使用するためのオプション。IdentityFile にパスフレーズが必要な場合は、このプロパティを true に設定します。

Logical

MPIImplementation

Linux® クラスターでジョブに使用するメッセージ パッシング インターフェイス (MPI) 実装を変更するオプション。次のいずれかとして指定します。

  • "MPICH" - MPICH バージョンの mpiexec コマンドを使用してジョブを実行します。Parallel Computing Toolbox では、既定では MPICH の MPI 実装を使用してジョブが実行されます。

  • "IntelMPI" - Intel® の MPI 実装を使用してジョブを実行します。

String

RemoteJobStorageLocation

ジョブ ファイルを保存するクラスター上の場所。クライアントとクラスター ノードに共有ファイル システムがない場合は、このプロパティを使用します。

String

SSHPort

クラスター ホストの SSH 接続用ポート番号。SSH 経由で接続するには、このプロパティを使用してクラスター ホストのポートを設定します。

Double

UseIdentityFile

ID ファイルを使用するためのオプション。クラスター ホスト マシンへのログインに SSH の ID ファイルを使用する場合は、このプロパティを true に設定します。このプロパティを設定した場合は、IdentityFile および IdentityFileHasPassphrase も設定します。

Logical

Username

クラスター ホスト マシンにログインするためのユーザー名。

String

UseUniqueSubfolders

一意のサブフォルダーを使用するためのオプション。ユーザー名と MATLAB® のバージョンに基づいて、MATLAB で異なるサブフォルダーにジョブ ファイルを保存する場合は、このプロパティを true に設定します。これは、異なるユーザーおよび MATLAB バージョンから投入されたジョブ間の競合を回避する上で役立ちます。

Logical

各スケジューラに固有のプロパティ

 Slurm 専用のプロパティ

 LSF 専用のプロパティ

 Grid Engine ファミリ専用のプロパティ

 PBS 専用のプロパティ

 HTCondor 専用のプロパティ

 AWS Batch 専用のプロパティ

追加のプロパティの設定

クラスター プロファイル マネージャーまたはプログラムを使用して、クラスター プロファイル内に追加のプロパティを設定できます。

クラスター プロファイル内でのプロパティの設定

クラスター プロファイル内に追加のプロパティを設定すると、クラスターを使用するたびにそのプロパティが適用されます。

  • MATLAB ツールストリップの [ホーム] タブの [環境] 領域で、[並列][クラスターの作成と管理] を選択します。

  • クラスター プロファイル マネージャーで、変更するクラスター プロファイルをクリックします。

  • 右下の [編集] をクリックします。

  • AdditionalProperties テーブルに移動します。

  • 新しいプロパティを追加するには、[追加] をクリックします。既存のプロパティを変更するには、そのプロパティをクリックします。

次のイメージは、Slurm クラスター プロファイルで追加の AdditionalSubmitArgs プロパティを設定し、プラグイン スクリプトによってジョブにコメントが追加されるようにする例を示します。

Cluster Profile Manager with the Slurm profile selected. The properties for the cluster are shown in the right panel. The Additional Properties entry is being edited.

プログラムによるプロパティの設定

クラスター オブジェクトの AdditionalProperties にアクセスすることで、プログラムにより追加のプロパティを設定できます。このアクションはクラスター プロファイルを更新せず、このプロパティは特定のクラスター オブジェクトにのみ適用されることに注意してください。次は、Slurm クラスターの AdditionalSubmitArgs を設定する方法の例です。

まず、関数 parcluster を使用してクラスター オブジェクトを作成します。次のコードの MySlurmCluster をクラスター プロファイルの名前に置き換えます。

c = parcluster("MySlurmCluster");

次に、プラグイン スクリプトによってジョブにコメントが付加されるように AdditionalSubmitArgs を設定します。

c.AdditionalProperties.AdditionalSubmitArgs = '--comment="my test job"';

この変更により、ジョブの投入時に MATLAB はスケジューラに追加の引数を渡します。たとえば、バッチ ジョブを投入します。

job = batch(c,"myScript");

実行時に AdditionalProperties プロパティを使用してプラグイン スクリプトの機能を変更する他の例については、Add User Customizationを参照してください。

参考

トピック