为什么这段代码给SIGABRT和openMP
Why is this code giving SIGABRT with openMP?
for (int i = 0; i < x_res; i++){
#pragma omp parallel for
for (int j = 0; j < y_res; j++) {
Ray hit = s.kd_tree->intersect(rays[i][j]);
}
}
为什么这段代码不能并行工作?我找不到原因。
回溯跟踪输出以下内容:
#0 0x00007fff8ce03bf2 in __psynch_mutexwait ()
#1 0x00007fff8cd331a1 in pthread_mutex_lock ()
#2 0x00000001000027e4 in gomp_barrier_destroy ()
#3 0x000000010000247b in gomp_team_end ()
从 http://hpc.sourceforge.net/下载最后一个 gcc(目前为 4.8(。
OpenMP 的错误在那里得到修复
相关文章:
- OpenMP阵列性能较差
- OpenMP卸载说'fatal error: could not find accel/nvptx-none/mkoffload'
- 使用 GCC 卸载的 OpenMP 卸载失败,并出现"Ptx assembly aborted due to errors"
- OpenMP:并行更新数组总是需要减少数组吗
- 如何使用OpenMP并行这两个循环
- 从python调用openMP共享库时,未定义opnMP函数
- 如何使用OpenMP并行化此矩阵时间矢量运算
- 如何使用OpenMP使这个循环并行
- 如何通过替换顺序代码的while循环来添加OpenMP for循环
- 查找最近配对时的OpenMP竞赛条件
- 使用输入打破 OpenMP 中的循环
- 为什么 openmp 的并行不适用于矢量化色彩空间转换?
- 在 openmp 中,omp_get_thread_num是否绑定到物理线程?
- 在C++中使用并行化的预期速度是多少(不是 OpenMp,而是 <thread>)
- OpenMP 加上unordered_map<字符串、双字符串的缩减>
- 中止信号来自 C++ 中的中止(3) (SIGABRT)
- OpenMP 与有序和关键指令并行
- 我使用 OpenMP 的线程越多,执行时间就越长,这是怎么回事?
- 为什么这段代码给SIGABRT和openMP
- 为什么我的程序接收SIGABRT时,我使用OpenMP使一个for循环并行