OpenMP:是否有一个超时的并行部分
OpenMP: is there a timeout for a parallel section?
我在这里遇到了一个问题。有两个函数应该并行执行。在foo()
中,有一个回路将被stop
中断。你们可以看到它被分配在另一个omp部分。
代码是:
char stop;
#pragma omp parallel
{
#pragma omp sections
{
#pragma omp section
{
foo(&stop);
}
#pragma omp section
{
bar();
stop = getch();
}
}
}
和
void foo(char *foo)
{
while(*stop != 'q')
{
// do stuff
}
}
现在当我执行该代码时发生了什么:它被卡在第一个(foo()
)部分。更具体地说,在给定的循环中-现在是一个无限循环,因为它从未设法切换到bar
部分,因此永远无法调整中断条件。
foo()
部分超时。我搜索了互联网,但找不到任何适用的代码。
有人知道吗?
谢谢你的建议!
OpenMP:是否有一个超时的并行部分?
回答:没有。
OpenMP没有超时
相关文章:
- C++17中的并行执行策略
- 并行用于C++17中数组索引范围内的循环
- 如何在Elixir中调用递归函数并行
- C++减少modbus_connect超时
- OpenMP:并行更新数组总是需要减少数组吗
- 如何将部分流作为参数传递
- 如何使用OpenMP并行这两个循环
- 如何使用OpenMP并行化此矩阵时间矢量运算
- 如何使用OpenMP使这个循环并行
- 没有超时的C++条件变量
- 遍历并行数组以确定C++中的最大数字
- 为什么 openmp 的并行不适用于矢量化色彩空间转换?
- 如何在 Mac 上使用 c++17 并行标准库算法?
- 并行标准::复制复杂性
- 如何在C++(VS2010)中设置超时读取USB端口?
- 如何使用 MPI 的远程内存访问 (RMA) 功能并行化数据聚合?
- C++卷曲柱在curl_easy_perform超时
- 在C++中使用并行化的预期速度是多少(不是 OpenMp,而是 <thread>)
- 如何在 C++17 STL 并行算法中处理调度?
- OpenMP:是否有一个超时的并行部分