MATLAB Parallel Serverとparforとsave
Show older comments
以下のスクリプト(parfor_save.m)は、「並列」→「既定のクラスターの選択」でMATLAB Parallel Serverで作成したクラスターを選択した場合に動作しますが、save関数で保存したMATファイルが見つかりません。
ファイルはどこに保存されるのでしょうか?
また、指定したディレクトリ(results_dir)にMATファイルを保存したいのですが、どのように修正すれば良いでしょうか?
■環境
クライアント:MATLAB R2021b(Windows10 64bit)
MATLAB Parallel Server:R2021b
■スクリプト(main_save_func_parfor.m)
function main_save_func_parfor(fname, x)
save(fname, 'x');
end
■スクリプト(parfor_save.m)
% 変数の初期化
clear all;
% 作業ディレクトリに移動。
cd('D:\matlab');
% ファイルを保存するディレクトリ
results_dir = fullfile(pwd, 'Results');
% MATファイルのリスト取得
dirInfo = dir(fullfile(fullfile(pwd, 'data'), '/*.mat'));
% 並列プールの生成
parpool(4);
% 保存用のサンプルデータ
sampledata = ones(10);
parfor i = 1 : length(dirInfo)
[filepath, filename, ext] = fileparts(dirInfo(i).name);
save_fname = [filename, '_', num2str(i), '.mat'];
main_save_func_parfor(save_fname, sampledata);
end;
delete(gcp('nocreate'));
2 Comments
Kojiro Saito
on 13 Jan 2023
2点確認があります。
MATLAB Parallel Serverが実行されているサーバーはWindowsのクライアントと同じマシンでしょうか?それともリモートのサーバーでしょうか?
また、もしMATLAB Parallel Serverがリモートサーバーにある際に、results_dirで指定しているクライアントのフォルダーは、リモートサーバーからマウントしたりホスト名またはIPアドレスでアクセスできる共有フォルダーになっていますでしょうか?
Accepted Answer
More Answers (0)
Categories
Find more on 並列計算の基礎 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!