メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

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

R2025b

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 のドキュメンテーションを参照してください。

プロパティ説明データ型

AccountName

使用されたリソースについてスケジューラが請求先にするアカウント名。

String

Constraint

ジョブの実行に必要なノード機能。

String

MemPerCPU

CPU ごとに必要な最小メモリ。

String

Partition

ジョブのリソース割り当ての区画。

String

RequireExclusiveNode

ノードを他の実行中のジョブに共有するオプション。ジョブがノードを他の実行中のジョブに共有できない場合は、このプロパティを true に設定します。

Logical

Reservation

スケジューラがジョブのリソースの割り当て元にすることができる予約名。

String

WallTime

ジョブの合計実行時間の制限。

String

EmailAddress

スケジューラからの通知を受け取る電子メール アドレス。

String

これらのプロパティの詳細については、LSF のドキュメンテーションを参照してください。

プロパティ説明データ型

MemPerCPU

CPU ごとに必要な最小メモリ。

String

Project

スケジューラがジョブの割り当て先とするプロジェクト。

String

QueueName

スケジューラがジョブを実行するクラスター キューの名前。

String

RequireExclusiveNode

ノードを他の実行中のジョブに共有するオプション。ジョブがノードを他の実行中のジョブに共有できない場合は、このプロパティを true に設定します。

Logical

WallTime

ジョブの合計実行時間の制限。

String

EmailAddress

スケジューラからの通知を受け取る電子メール アドレス。

String
プロパティ説明データ型

AccountName

スケジューラのジョブ実行に使用するアカウント名。

String

MemPerCPU

CPU ごとに必要な最小メモリ。

String

Project

スケジューラがジョブの割り当て先とするプロジェクト。

String

QueueName

ジョブを実行するクラスター キューの名前。

String

WallTime

ジョブの合計実行時間の制限。

String

EmailAddress

スケジューラからの通知を受け取る電子メール アドレス。

String
プロパティ説明データ型

AccountName

使用されたリソースについてスケジューラが請求先にするアカウント名。

String

Priority

クラスター内の他のジョブに対するジョブの優先順位。

Double

ProcsPerNode

ノードあたりのプロセッサ数。有限の正の整数スカラーとして指定します。

ジョブをクラスターに投入する場合、MATLAB が要求するノードあたりのコア数は必ず ProcsPerNode 以下になります。ProcsPerNode には、MATLAB が各クラスター ノードに要求するプロセッサの最大数を設定してください。

MATLAB はジョブの実行に必要な、ノードあたりの最小数のコアを要求します。

  • クラスターの NumThreads プロパティが ProcsPerNode 以下の場合、MATLAB はワーカーあたり NumThreads 個のプロセッサを要求し、その後ノードあたりのワーカー数を最大限にします。たとえば、ProcsPerNode が 16 で NumThreads が 5 の場合、MATLAB は 15 個のコアを要求します。これは ProcsPerNode 未満で最大の 5 の倍数です。

  • クラスターの NumThreads が ProcsPerNode より大きい場合、MATLAB はノードあたり ProcsPerNode 個のプロセッサを要求します。

    NumThreads が ProcsPerNode より大きいと、パフォーマンスの問題が発生することがあります。ベスト プラクティスとして、NumThreads は ProcsPerNode 以下に設定してください。詳細については、ワーカー数とクラスター設定の編集 (Parallel Computing Toolbox)を参照してください。

Positive integer scalar

QueueName

ジョブを実行するクラスター キューまたはサーバーの名前。

String

WallTime

ジョブの合計実行時間の制限。

String

EmailAddress

スケジューラからの通知を受け取る電子メール アドレス。

String

これらのプロパティの詳細については、HTCondor のドキュメンテーションを参照してください。

プロパティ説明データ型

AccountingGroup

スケジューラがジョブをネゴシエートする際に使用するアカウンティング グループの名前。String

AccountingGroupUsername

リソース使用アカウンティング用のユーザー名。

String

RequestDisk

ジョブのディスク スペース要件。

String

RequestMemory

ジョブのメモリ要件。

String

Priority

クラスター内の他のジョブに対するジョブの優先順位。

Double

Requirements

ジョブの実行に必要なノード機能。

String

EmailAddress

スケジューラからの通知を受け取る電子メール アドレス。

String

これらのプロパティの詳細については、AWS Batch のドキュメンテーションを参照してください。

プロパティ説明データ型

IndependentJobDefinition

独立した MATLAB ジョブ用の AWS® Batch ジョブの定義。

String

JobQueue

クラスターの AWS Batch ジョブ キュー

String

LicenseServer

ネットワーク ライセンス マネージャーが実行されるマシンのポート番号とホスト名。このプロパティは port@hostname の形式で指定します。

String

S3Bucket

クライアントと MATLAB ワーカーの間でのデータ送信に使用する Amazon S3™ バケット

String

追加のプロパティの設定

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

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

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

  • 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を参照してください。

参考

トピック