【发布时间】:2022-01-12 10:07:54
【问题描述】:
我有这段代码,我试图弄清楚如何在 openMp 线程中将不同的值作为线程参数传递给
例如,我有一个简单的递减语句,例如 --t ,其中 t 是一个变量,因此每次调用线程函数时都会首先获取递减的 t 值,然后将其作为线程参数接收。这是我尝试过的
int main(int argc, char* argv[])
{
int t=2;
#pragma omp parallel firstprivate(t=(--t))
{
printf("%d\n",t);
}
// Ending of parallel region
}
所以我完全不知道上面的代码是如何使用的,因为我假设#pragma omp 指令的firstprivate(...) 部分只是使用 open mp 生成线程的一种方式,但我需要每个线程接收不同的参数。在openMM C中是否可行
【问题讨论】:
-
如果有人给我关于 openmp 中某种共享变量的信息,它会相互添加线程参数的值,例如添加第一个线程参数和第二个线程参数等等,这将是很棒的openMp的共享变量