У меня есть программа openMP, где цикл for параллелен. Все работает так, как должно, за исключением того, что главный поток много, во много раз быстрее остальных потоков ... Например, при работе с 4 потоками нить 0 заканчивается задолго до других, но они выполняются одинаково кода, при почти том же объеме работы.Общие сведения openMP - скорость потока различна
Возможно ли это из-за обработки ресурсов Windows, обмена задачами в и из потоков, используемых программой, что приводит к замедлению? Или, скорее всего, мой код является проблемой? Я просто хочу, чтобы я не тратил время на поиск ошибки в моей программе, если это неизбежная проблема, вызванная ОС ...
Трудно сказать, что обеспечивает плохое поведение без какого-либо реального кода. Однако, если вы хотите получить ссылку, см. Http://stackoverflow.com/questions/13355559/openmp-slower-more-than-one-threads-cant-figure-out. – user1929959
Я думаю, что у меня слишком много кода, чтобы он был полезен для публикации ... Вопрос действительно в общем поведении openMP: Можно ли рассчитывать на каждый поток одинаково быстро? – MikkelSecher
Если вы не потратите время на то, чтобы переделать свой код в основные элементы, не выбрасывая важные части, ваш вопрос, скорее всего, будет закрыт. –