MATLAB Parallel Serverとparforとload

3 visualizzazioni (ultimi 30 giorni)
NT
NT il 12 Gen 2023
Modificato: NT il 12 Gen 2023
以下のスクリプト(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'))

Risposta accettata

Kojiro Saito
Kojiro Saito il 12 Gen 2023
こちらの情報が役立つと思います。
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 Commenti
NT
NT il 12 Gen 2023
Modificato: NT il 12 Gen 2023
ご教授いただき、ありがとうございます。
教えていただいた情報から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 il 12 Gen 2023
解決して良かったです。回答の採用もありがとうございました。

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su 並列計算の基礎 in Help Center e File Exchange

Prodotti


Release

R2021b

Community Treasure Hunt

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

Start Hunting!