Интересно, может ли одновременно работать более 8 потоков на оборудовании с 8 ядрами.многопоточность (openMP) - сколько параллельных потоков
Если это так, используя openMP для распараллеливания N вычислений, я мог бы создать куски размером, скажем, N/8, и в каждом потоке дальше использовать fork (N/8)/8 потоков и, возможно, еще больше?
Как все происходит, когда я вставляю распараллеливание? у меня все еще есть 8 доступных потоков для вложенной параллели?
Спасибо!
Я считаю, что чередование возможно в определенных сценариях ускоряет работу? Например, если ожидалось, что некоторые процессы закончатся? – ScarletAmaranth
похоже, что моя программа быстрее (20%?), Используя вложенные параллели. Я никогда не применяю количество потоков для использования, я устанавливаю только omp_set_nested (true) – octoback
@ScarletAmaranth, да. I/O является наиболее типичным примером этого (следовательно, я упомянул об этом в своем ответе), но есть и другие случаи. –