Загрузите файл в параллельный сеанс
pload(fileroot)
| Часть имени файла, характерного для всех сохраненных загружающихся файлов. |
pload(fileroot)
загружает данные из файлов с именем [fileroot num2str(labindex)]
в рабочих, запускающих связывающееся задание. Файлы должны были быть созданы командой psave
. Количество рабочих должно совпасть с количеством файлов. Файлы должны быть доступны для всех рабочих. Любые codistributed массивы восстановлены этой функцией. Если fileroot
будет содержать расширение, символьное представление labindex
будет вставлено перед расширением. Таким образом pload('abc')
пытается загрузить файл abc1.mat
на рабочем 1, abc2.mat
на рабочем 2, и так далее.
Создайте три переменные — один реплицированный, один вариант и один codistributed. Затем сохраните данные. (Этот пример работает в связывающемся задании или в pmode, но не в блоке parfor
или spmd
.)
clear all; rep = speye(numlabs); var = magic(labindex); D = eye(numlabs,codistributor()); psave('threeThings');
Это создает три файла (threeThings1.mat
, threeThings2.mat
, threeThings3.mat
) в текущей рабочей директории.
Очистите рабочую область на всех рабочих и подтвердите, что нет никаких переменных.
clear all
whos
Загрузите ранее сохраненные данные в рабочих. Подтвердите его присутствие.
pload('threeThings');
whos
isreplicated(rep)
iscodistributed(D)