デプロイ アプリケーションでの Parallel Computing Toolbox の使用
Parallel Computing Toolbox™ を使用するアプリケーションは、MATLAB® 基本設定フォルダーにあるクラスター プロファイルを使用できます。このフォルダーを検索するには、prefdir
を使用します。
たとえば、スタンドアロン アプリケーションを作成する場合、クラスター プロファイル マネージャーで使用可能なすべてのプロファイルがこのアプリケーションで使用可能になります。
アプリケーションは外部ファイルで提供されるクラスター プロファイルも使用できます。アプリケーションがこのファイルを使用できるようにするには、次のいずれかを行います。
コード内でこのファイルにリンクする。
実行時にこのファイルの場所を渡す。
クラスター プロファイルのエクスポート
クラスター プロファイルを外部ファイルにエクスポートするには、以下の手順に従います。
[ホーム] タブの [環境] セクションで、[並列] 、 [クラスターの作成と管理] を選択します。
[クラスター プロファイル マネージャー] ダイアログでプロファイルを選択し、[管理] セクションで [エクスポート] をクリックします。
コード内での Parallel Computing Toolbox プロファイルへのリンク
アプリケーションが外部ファイルで提供されたクラスター プロファイルを使用できるようにするには、コードからファイルにリンクします。この例では、絶対パス、相対パス、MATLAB 検索パスを使用して、クラスター プロファイルにリンクします。各リンクはコンパイル前に指定されているため、各リンクが変わっていないことを確認しなければなりません。
アプリケーションのクラスター プロファイルを設定するには、関数 setmcruserdata
を使用します。
MATLAB 基本設定フォルダーはアプリケーションにまとめられているため、このフォルダー内のファイルへの相対リンクはつねに機能します。アプリケーション コードでは、MATLAB 基本設定フォルダー内の myClusterProfile.mlsettings
ファイルを使用できます。
mpSettingsPath = fullfile(prefdir, 'myClusterProfile.mlsettings'); setmcruserdata('ParallelProfile', mpSettingsPath);
fullfile
を使用すると、外部ファイルの絶対パスが得られます。mpSettingsPath
で指定する引数は、絶対パスでなければなりません。アプリケーションのユーザーのファイル システム上の変化しない絶対パスにクラスター プロファイルがある場合は、これに直接リンクします。mpSettingsPath = '/path/to/myClusterProfile.mlsettings'; setmcruserdata('ParallelProfile', mpSettingsPath);
mpSettingsPath = fullfile(pwd, '../rel/path/to/myClusterProfile.mlsettings'); setmcruserdata('ParallelProfile', mpSettingsPath);
which
を使用してクラスター プロファイルへの絶対パスを取得します。次に、これにリンクします。mpSettingsPath = which('myClusterProfile.mlsettings'); setmcruserdata('ParallelProfile', mpSettingsPath);
mcc -a /path/to/myClusterProfile.mlsettings -m myApp.m;
/path/to/
を追加する必要があります。実行時に Parallel Computing Toolbox プロファイルを渡す
アプリケーション myApp
のユーザーが、実行時に選択するクラスター プロファイルを使用している場合は、コマンド ラインでこれを指定することができます。
myApp -mcruserdata ParallelProfile:/path/to/myClusterProfile.mlsettings |
コードで関数 setmcruserdata
を使用すると、-mcruserdata
フラグの使用がオーバーライドされます。
デプロイされたアプリケーションでのクラスター プロファイルの切り替え
関数 setmcruserdata
を使用する場合、クラスター プロファイル マネージャーで使用可能なプロファイルはどれも使用できなくなります。クラスター プロファイル マネージャーのプロファイルを再度有効にするには、parallel.mlSettings
ファイルを使用します。
mpSettingsPath = '/path/to/myClusterProfile.mlsettings'; setmcruserdata('ParallelProfile', mpSettingsPath); % SOME APPLICATION CODE origSettingsPath = fullfile(prefdir, 'parallel.mlsettings'); setmcruserdata('ParallelProfile', origSettingsPath); % MORE APPLICATION CODE
クラスター プロファイルを読み込むためのサンプル C コード
MATLAB Compiler SDK™ でビルドされた C および C++ アプリケーション内でネイティブに関数 mcruserdata
を呼び出すことができます。
mxArray *key = mxCreateString("ParallelProfile"); mxArray *value = mxCreateString("/path/to/myClusterProfile.mlsettings"); if (!setmcruserdata(key, value)) { fprintf(stderr, "Could not set MCR user data: \n %s ", mclGetLastErrorMessage()); return -1; } |
参考
setmcruserdata
| getmcruserdata
関連するトピック
- MATLAB Runtime のユーザー データ インターフェイスの使用
- Specify Parallel Computing Toolbox Profile in .NET Application (MATLAB Compiler SDK)
- Specify Parallel Computing Toolbox Profile in Java Application (MATLAB Compiler SDK)