【发布时间】:2026-01-10 16:35:03
【问题描述】:
出于某种原因,我需要对我的处理器施加压力,并且我想在 OpenMP 中分叉很多线程。在 pthreads 中,您可以使用 for 循环轻松完成它,因为它分叉一个线程只是一个函数调用。但是在 OpenMP 中你必须有这样的东西:
#pragma omp parallel sections
{
#pragma omp section
{
//section 0
}
#pragma omp section
{
//section 1
}
.... // repeat omp section for n times
}
我只是想知道是否有更简单的方法可以在 OpenMP 中分叉大量线程?
【问题讨论】:
-
你的意思是:
#pragma omp parallel ... num_threads(100) -
@Mysticial 但我不想在并行区域内复制
#pragma omp section,我只需要在 100 个线程上运行的两个部分,50 个运行部分 0 和 50 个运行部分 1,我该怎么做去做? (不确定我是否对此完全确定)。
标签: c multithreading openmp