问题标签 [libgomp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
85 浏览

c - libgomp:线程创建失败:资源暂时不可用 OpenMP 并行合并排序

我是 OpenMP 的新手。我试图实现合并排序的并行版本。我的串行实现的代码与此相同,但我没有使用 parallelMergeSort 函数。我的并行实现如下:

我在 parallelMergeSort 函数中有错误,因为printf("\n--------------\n");已打印。错误是标题中的错误:libgomp: Thread creation failed: Resource temporarily unavailable。我不知道错误在哪里。我尝试按照以下示例实现:OpenMP 中的并行合并排序 我不认为这是资源问题,因为简单的程序可以工作。显然我在那个函数中犯了一些错误......

编辑:如果我使用 2 个或 3 个或 4 个线程等,都会发生这种情况。

编辑:如果我使用 OMP_DISPLAY_ENV=TRUE

编辑:

这是最后一个代码。如果我写 level=8 它可以工作,但是如果我写例如 level=0 或 level=1 数组将不会被排序。编辑:如果我在代码中写了与 8 不同的东西,我有Segmentation error. 特别是如果我增加数组的随机元素的数量。还有1000个级别= 8的元素我有这个分割错误

0 投票
0 回答
24 浏览

gcc - 将 GCC 构建的目标文件与 LLVM 和 OpenMP 链接

我的情况是,我必须将一些使用 GCC 构建的目标文件链接到我基于 LLVM 的应用程序。问题是应用程序依赖于 LLVM 的 OpenMP 库,而 GCC 对象引用了 GCC 的 OpenMP。因此,我收到了链接器错误。该命令相当复杂,但归结为以下内容:

上述函数在 LLVM 的 OpenMP 库中不可用,但在 GNU OpenMP 库中。

即使我使用 GCC 作为链接器,是否有某种方法可以使这项工作?最终目标是消除对 GCC 的 OpenMP 库的依赖并改用 LLVM。