Я новичок здесь для того, чтобы задавать вопросы, хотя я уже нашел здесь решение многих проблем.
Эта конкретная проблема, на которую я не могу найти ответ, поэтому решил присоединиться и спросить.
Я использую инструментарий параллельных вычислений для одновременного запуска нескольких симуляций, код, который я разрабатываю, должен быть развернут на одном ядре, поэтому нет необходимости преобразовывать алгоритм в параллель.
структуры данных, создаваемые каждой из симуляций, велики, и выполнение 8 симуляций одновременно использует всю доступную оперативную память на моей машине (4 ГБ).
В настоящее время я смотрю на сокращение памяти, используемой каждой симуляциейи задавался вопросом, знает ли кто-нибудь, как получить информацию об использовании памяти из каждого экземпляра функции.
До сих пор я звонил:
parfor i=1:8
[IR(:, i) Data(i)] = feval(F, NX, NY(i), SR, NS, i);
end
И внутри функции F
[usr, sys] = memory;
format short eng;
TEST.Mem = usr.MemUsedMATLAB;
Но это, понятно, возвращает память, используемую всеми 8 экземплярами F.
Я хотел бы получитьt информация из каждого экземпляра F.
Примечание. Структура данных TEST возвращается в качестве данных в функцию верхнего уровня.
Заранее благодарим за любую помощь.