スクリプトを使用したデスクトップからリモート サーバーへの Polyspace 解析の送信
ローカル デスクトップで Polyspace® 解析を実行する代わりに、解析をリモート クラスターに送信できます。専用クラスターを使用して Polyspace を実行することで、ローカル デスクトップのメモリを空けることができます。
このトピックでは、Windows® または Linux® のスクリプトを使用して、解析をリモート クラスターに送信し、解析後にその結果をデスクトップにダウンロードする方法を説明します。
Polyspace ユーザー インターフェイスから解析の負荷を移すには、デスクトップからリモート サーバーへの Polyspace 解析の送信を参照。
Polyspace 解析の負荷を軽減するすべての手順を説明する簡単なチュートリアルについては、デスクトップからローカルでホストされているサーバーへの Bug Finder 解析の送信を参照。このチュートリアルでは、同じコンピューターがクライアントおよびサーバーとして機能します。
解析を実行するためのクライアント/サーバー ワークフロー
初期設定の後、Polyspace 解析をクライアント デスクトップからサーバーに送信できます。クライアント/サーバー ワークフローは 3 つのステップで行われます。3 つのステップすべてが同じコンピューターで実行されるか、3 つの異なるコンピューターで実行されます。
クライアント ノード:Polyspace 解析オプションを指定し、クライアント デスクトップで解析を開始します。コンパイルまでの解析の初期段階は、デスクトップ上で実行されます。コンパイル後、解析ジョブはサーバーに送信されます。
クライアント ノードとして機能するコンピューター上に Polyspace デスクトップ製品 Polyspace Bug Finder™ が必要です。
ヘッド ノード:サーバーはヘッド ノードと複数のワーカー ノードで構成されています。ヘッド ノードは、ジョブ スケジューラを使用して複数のクライアント デスクトップからの送信を管理します。ジョブはワーカー ノードが使用可能になると、ワーカー ノードに分散されます。
ヘッド ノードとして機能するコンピューター上に製品 MATLAB® Parallel Server™ が必要です。
ワーカー ノード:ワーカーが使用可能になると、ジョブ スケジューラが解析をそのワーカーに割り当てます。Polyspace 解析はワーカーで実行され、結果はレビューのために元のクライアント デスクトップにダウンロードされます。
ワーカー ノードとして機能するコンピューター上に製品 MATLAB Parallel Server が必要です。解析を実行するには、Polyspace サーバー製品 Polyspace Bug Finder Server™ や Polyspace Code Prover™ Server も必要です。
メモ
クライアント ノードとワーカー ノードの Polyspace のバージョンは一致している必要があります。

前提条件
スクリプトを使用してリモート解析を実行する前に、デスクトップとリモート サーバーの間の通信を設定しなければなりません。Install Products for Submitting Polyspace Analysis from Desktops to Remote Serverを参照してください。
リモート解析の実行
リモート解析を実行するには、次のコマンドを使用します。ここで、[] はオプションのフラグを示します。
polyspaceroot\polyspace\bin\polyspace-bug-finder -batch -scheduler NodeHost|MJSName@NodeHost [-wait -download] [options] [-mjs-username name]
は Polyspace デスクトップ製品のインストール フォルダーです。たとえば、polyspacerootC:\Program Files\Polyspace\R2025bです。は、MATLAB Parallel Server クラスターのヘッド ノードをホストするコンピューターの名前。NodeHostはヘッド ノード ホストの MATLAB ジョブ スケジューラの名前です。MJSNamePolyspace ユーザー インターフェイスからクラスターとの通信を設定する場合、ユーザー インターフェイスから
およびNodeHostを決定できます。MJSName[ツール] 、 [基本設定] を選択し、[サーバー設定] タブの [設定] をクリックして [クラスター プロファイル マネージャー] を開きます。左ペインでクラスター プロファイルを選択して、[プロパティ] タブの [MJSName] フィールドと [ホスト] フィールドで
MJSNameとNodeHostを確認します。startjobmanagerコマンドを使用して MATLAB ジョブ スケジューラを起動する場合、がオプションMJSName-nameの引数です。詳細は、MATLAB ジョブ スケジューラを統合するための詳細オプションの設定 (MATLAB Parallel Server)を参照してください。は解析オプションです。これらのオプションはローカル解析のオプションと同じです。たとえば、次のオプションを使用できます。options-sources-list-file: 1 行につき 1 つのソース ファイル名を含むテキスト ファイルを指定します。-options-file: 1 行につき 1 つのオプションを含むテキスト ファイルを指定します。-results-dir: 解析後に結果を格納するダウンロード フォルダーを指定します。
すべてのオプションのリストは、Polyspace Bug Finder 解析エンジンのすべてのオプションのリストを参照してください。または、以下が可能です。
ユーザー インターフェイスで解析を開始してコンパイル後に停止します。コマンド ラインで解析を実行するためのテキスト ファイルとスクリプトを取得できます。ユーザー インターフェイスでの Polyspace 解析オプションの設定とスクリプトの生成を参照してください。
「
polyspace-bug-finder -h」と入力します。簡単な説明を含む使用可能なオプションの一覧が表示されます。Polyspace ユーザー インターフェイスの [構成] ペインにある各オプションの上にカーソルを置きます。オプション構文とそのオプションが必要とされる場合については、[詳しいヘルプ] をクリックしてください。
は、MATLAB Parallel Server を使用したジョブ投入に必要なユーザー名です。これらの資格情報は、MATLAB Parallel Server での投入時に 1 以上のセキュリティ レベルを使用する場合にのみ必要です。MATLAB ジョブ スケジューラ クラスターのセキュリティの設定 (MATLAB Parallel Server)を参照してください。nameセキュリティ レベル 2 以上では、ジョブの投入時にグラフィカル ウィンドウでパスワードを入力する必要があります。今後このプロンプトが表示されないようにするには、パスワードをコンピューターで記憶するように指定します。
解析は 2 段階で実行されます。
解析の最初の部分 (コンパイル段階の終了まで) は、デスクトップ上でローカルに実行されます。コンパイル後、本ソフトウェアは解析ジョブをクラスターに送信し、ジョブ ID を提供します。結果フォルダーの
.statusサブフォルダーに保存されているファイルID.txtから ID を読み取ることもできます。解析を監視するには、polyspace-jobs-managerコマンドとジョブ ID を使用します。解析の残りの部分は、クラスターで続行されます。コマンドは解析が完了するまで待機し、結果が自動的にデスクトップにダウンロードされます。コンソールを解放し、
polyspace-jobs-managerコマンドを使用して結果を後でダウンロードする場合は、オプション-wait -downloadを省略します。
コンパイル後に解析が停止し、解析を再開しなければならない場合、コンパイル段階から再実行されないようにするには、オプション -submit-job-from-previous-compilation-results を使用します。
リモート解析の管理
複数のリモート解析を管理するには、オプション -batch を使用します。次に例を示します。
polyspaceroot\polyspace\bin\polyspace-jobs-manager action -scheduler schedulerName
リモート クラスターで Bug Finder または Code Prover 解析を実行 (-batch) も参照してください。ここで、以下となります。
は MATLAB インストール フォルダー。polyspacerootは次のいずれかになります。schedulerNameMATLAB Parallel Server クラスターのヘッド ノードをホストするコンピューターの名前 (
NodeHost)。ヘッド ノード ホスト上の MATLAB ジョブ スケジューラの名前 (
)。MJSName@NodeHostMATLAB クラスター プロファイルの名前 (
)。ClusterProfileクラスターの詳細は、クラスターの検出とクラスター プロファイルの使用 (Parallel Computing Toolbox)を参照してください。
ジョブ スケジューラを指定していない場合、
polyspace-job-managerでは Polyspace 基本設定で指定されたスケジューラが使用されます。スケジューラ名を表示するには、[ツール] 、 [基本設定] を選択します。[サーバー設定] タブで、[ジョブ スケジューラのホスト名] を確認します。はスケジューラでジョブを管理するために、以下の使用できるアクション コマンドを参照します。actionlistjobs:スケジューラの Polyspace ジョブのリストを生成します。ジョブごとにソフトウェアでは次の情報が提供されます。
ID— 検証識別子または解析識別子。AUTHOR— ジョブを投入したユーザーの名前。APPLICATION— Polyspace Code Prover や Polyspace Bug Finder などの Polyspace 製品の名前。LOCAL_RESULTS_DIR— [ツール] 、 [基本設定] 、 [サーバー設定] タブで指定されたローカル コンピューターの結果フォルダー。WORKER— ジョブの投入元のローカル コンピューター。STATUS—runningやcompletedなどのジョブのステータス。DATE— ジョブが投入された日。LANG— 送信されたソース コードの言語。
download-jobID-results-folderFolderPath:指定された ID の解析結果を
FolderPathで指定されたフォルダーにダウンロードします。解析ジョブをサーバーに送信するときにオプション-wait -downloadを使用する場合、解析後に結果が自動的にダウンロードされます。結果を明示的にダウンロードする場合にのみ、downloadアクションを指定したpolyspace-jobs-managerコマンドを使用する必要があります。解析ジョブがサーバーでキューに入れられている場合、コマンド
polyspace-bug-finderはジョブ ID を返します。さらに、結果フォルダーの.statusサブフォルダーに保存されているファイルID.txtには、次の形式のジョブ ID が含まれています。たとえば、job_id;server_name:project_name version_number
92;localhost:Demo 1.0です。-results-folderオプションを使用しない場合は、解析の開始時に-results-dirオプションを使用して指定したフォルダーに結果がダウンロードされます。結果をダウンロード後、Polyspace ユーザー インターフェイスを使用して結果を表示します。
getlog -job:ID指定された ID をもつジョブのログを開きます。
remove -job:ID指定された ID のジョブを削除します。
promote -job:IDキューに含まれる指定された ID のジョブを昇格します。
demote -jobIDキューに含まれる指定された ID のジョブを降格します。
Cancel -jobIDキューに含まれる指定された ID のジョブをキャンセルします。
リモート解析のサンプル スクリプト
Windows では、毎回コマンドを入力するのを避けるために、バッチ ファイルにコマンドを保存できます。Linux では、シェル スクリプトを使用して解析を再起動できます。解析を実行するためのバッチ ファイルを作成するには、以下を行います。
解析オプションをファイル
listofoptions.txtに保存します。-options-fileを参照してください。ファイル
launcher.batをメモ帳などのテキスト エディターで作成します。ファイル内で、次のコマンドを入力します。
echo off set POLYSPACE_PATH=polyspaceroot\polyspace\bin set RESULTS_PATH=C:\Results set OPTIONS_FILE=C:\Options\listofoptions.txt "%POLYSPACE_PATH%\polyspace-bug-finder.exe" -batch -scheduler hostname -results-dir "%RESULTS_PATH%" -options-file "%OPTIONS_FILE%" pause
polyspacerootは Polyspace インストール フォルダーです。は MATLAB Parallel Server クラスターのヘッド ノードをホストするコンピューターの名前です。hostnameファイル内で次の変数の定義を置き換えます。
POLYSPACE_PATH:.exeファイルの実際の場所を入力します。RESULTS_PATH:フォルダーへのパスを入力します。コンパイル中に生成されたファイルはそのフォルダーに保存されます。OPTIONS_FILE:ファイルlistofoptions.txtへのパスを入力します。
launcher.batをダブルクリックして解析を実行します。
ヒント
Polyspace 解析を実行すると、Windows では .bat ファイル、Linux では .sh ファイルが生成されます。このファイルは結果フォルダーの .settings サブフォルダーにあります。ゼロからスクリプトを記述する代わりに、このファイルを使用して解析を再起動できます。
参考
リモート クラスターで Bug Finder または Code Prover 解析を実行 (-batch)