MATLAB Parallel Serverとparforとload

以下のスクリプト(parfor_test.m)は「並列」→「既定のクラスターの選択」で「local」を選択した場合は動作しますが
MATLAB Parallel Serverで作成したクラスターを選択した場合はエラーになって動作しません。
このスクリプトをMATLAB Parallel Serverのクラスターで動かすには、どのように修正すれば良いのでしょうか?
■環境
クライアント:MATLAB R2021b(Windows10 64bit)
MATLAB Parallel Server:R2021b
■MATLAB Parallel Serverのクラスターを選択した場合のエラー
エラー: main_load_func_parfor
Unable to find file or directory 'D:\matlab\data/h01.mat'.
エラー: parfor_test
parfor i = 1 : length(dirInfo)
■スクリプト(main_load_func_parfor.m
function record = main_load_func_parfor(file)
load( file );
end
■スクリプト(parfor_test.m
% 変数の初期化
clear all;
% 作業ディレクトリに移動
cd('D:\matlab');
% MATファイルのリスト取得
dirInfo = dir(fullfile(fullfile(pwd, 'data'), '/*.mat'));
parpool(4)
parfor i = 1 : length(dirInfo)
file_name = fullfile(dirInfo(i).folder, dirInfo(i).name)
%
% main_load_func_parfor.m
% function record = main_load_func_parfor(file)
% load(file);
% end
%
tmp_record = main_load_func_parfor(file_name);
end;
delete(gcp('nocreate'))

 채택된 답변

Kojiro Saito
Kojiro Saito 2023년 1월 12일

0 개 추천

こちらの情報が役立つと思います。
MATLAB Parallel ServerのワーカーからDドライブにアクセスできていないようなので、dataフォルダーを並列プールに添付してみてはいかがでしょうか。
parpool(4, 'AttachedFiles', "data"); % dataフォルダーを並列プールに添付して転送させる
parfor i = 1 : length(dirInfo)
file_name = dirInfo(i).name;
tmp_record = main_load_func_parfor(file_name);
end

댓글 수: 2

NT
NT 2023년 1월 12일
편집: NT 2023년 1월 12일
ご教授いただき、ありがとうございます。
教えていただいた情報からAttachedFilesの使用方法を理解することができました
解決済みとさせていただきます。
■動作したスクリプト(parfor_test.m
% 変数の初期化
clear all;
% 作業ディレクトリに移動
cd('D:\matlab');
% MATファイルのリスト取得
dirInfo = dir(fullfile(fullfile(pwd, 'data'), '/*.mat'));
% dataフォルダーを並列プールに添付して転送させる
parpool(4, 'AttachedFiles', "data");
parfor i = 1 : length(dirInfo)
file_name = dirInfo(i).name;
tmp_record = main_load_func_parfor(file_name);
end;
delete(gcp('nocreate'));
Kojiro Saito
Kojiro Saito 2023년 1월 12일
解決して良かったです。回答の採用もありがとうございました。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 並列計算の基礎에 대해 자세히 알아보기

제품

릴리스

R2021b

태그

질문:

NT
2023년 1월 12일

편집:

NT
2023년 1월 12일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!