[问题] openMP产生比section数多的thread

楼主: school4303 (某爬虫类)   2022-01-21 02:36:34
开发平台(Platform): (Ex: Win10, Linux, ...)
linux mint 20.3
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
gcc
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
openMP
问题(Question):
执行到sections区域后,产生的thread比我想像中还要多
喂入的资料(Input):

预期的正确结果(Expected Output):
5个thread
错误结果(Wrong Output):
16个thread (注:我的CPU是R7-3700X 8C16T)
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
#pragma omp parallel sections
{
#pragma omp section
funcA();
#pragma omp section
funcB();
#pragma omp section
funcC();
#pragma omp section
funcD();
#pragma omp section
funcE();
}
在执行到sections时,我从htop里面看到了16个thread,但我只有5个section
除了这边以外没有其他#pragma omp的部分
如果只有5个thread在执行各个Function,其余多的thread是在原地发呆还是?
补充说明(Supplement):
作者: sunneo (艾斯寇德)   2022-01-23 14:50:00
通常是原地发呆等塞任务可以用num_threads directive设定
作者: rex0707 (我就是我)   2022-02-01 23:33:00
没有指定thread数通常会全开
楼主: school4303 (某爬虫类)   2022-02-10 03:27:00
补个后续:对,就是发呆

Links booklink

Contact Us: admin [ a t ] ucptt.com