このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
配布アプリケーションでの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);
mcc
によるコンパイル時に-a
フラグを使用して追加したファイルは、MATLAB 検索パスに追加されます。そのため、外部に保存されているクラスター プロファイルをアプリケーションにまとめることもできます。まず、which
を使用してクラスター プロファイルへの絶対パスを取得します。次に、これにリンクします。mpSettingsPath = which('myClusterProfile.mlsettings'); setmcruserdata('ParallelProfile', mpSettingsPath);
mcc-a/path/to/myClusterProfile.mlSettings-mmyApp.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 CODEorigSettingsPath = fullfile(prefdir,'parallel.mlsettings'); setmcruserdata('ParallelProfile', origSettingsPath);% MORE APPLICATION CODE
クラスター プロファイルを読み込むためのサンプル C コード
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; } |