Итак, я работаю в кластере Linux с большим количеством вычислительных узлов на выбор. Я получаю эксклюзивное право на использование узла. Пакетные подачи. Я сталкиваюсь с проблемами, ограничивающими количество потоков. Я должен упомянуть, что у меня есть петля parfor. Когда я запускаю Matlab с параметром -singleCompThread, похоже, он не работает.
Я отправил узел с 2 ядрами, использовал упомянутую опцию одного потока, и когда я проверяю отправленное задание, оно начинает работать с 32 потоками. Как только он попадает в цикл parfor, он имеет более 600 потоков.
Я также хочу работать с определенным количеством нескольких потоков, а не с одним потоком. Итак, я использую функцию maxNumCompThreads(32); ограничить до 32 потоков. Я поместил эту функцию в начало файла, а также прямо внутри цикла parfor. Затем я отправляю задание на узел с 32 ядрами. Он использует более 32 потоков.
Любое руководство? Понятия не имею.
parfor
? Или вы настраиваете его для многопоточности? - person Cris Luengo   schedule 02.02.2021