问题标签 [openmp]

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 回答
966 浏览

parallel-processing - application exits prematurely with OpenMp with the error code : Fatal User Error 1002: Not all work-sharing constructs executed by all threads

I added openMp code to some serial code in a simulator applicaton, when I run a program that uses this application the program exits unexpectedly with the output "The thread 'Win32 Thread' (0x1828) has exited with code 1 (0x1)", this happens in the parallel region where I added the OpenMp code, here's a code sample:

The scheduling was static before I made it dynamic, after I added dynamic with a chunk size of 1 the application proceeded a little further before it exited, can this be an indication of what is happening inside the parallel region? thanks

0 投票
2 回答
3706 浏览

c# - 加速位图灰度转换,OpenMP 是 C# 中的一个选项吗?

请帮助我使用 openmp 使此代码并行此代码在单击按钮时运行,文本框为 128

请尽快帮助我,我相信这个网站和这里的所有程序员......

0 投票
1 回答
3000 浏览

c++ - 使用 openmp 并行 for_each

为什么这段代码在与 std::sort() 完美配合时不能并行化 std::for_each()?

我如何解决它?

Linux 上的 GCC 4.3。

0 投票
4 回答
1945 浏览

c - omp_get_max_threads 在并行区域中的行为

我在 Snow Leopard 和 linux 上编译了这段代码,得到了不同的结果。在 Snow leopard 上,第一次调用 omp_get_max_threads 返回 2,这是我的内核数,而第二次返回 1。在 linux 上,两个调用都返回 4,这是我的内核数。我认为 Linux 的行为是正确的,对吗?都是正确的,我只是对这个功能有误解吗?

Mac 输出:

Linux 输出:

0 投票
1 回答
340 浏览

openmp - 在 Visual Studio 上启用 OpenMp 会出现错误消息

当我尝试在 Visual Studio 上运行某个应用程序时,为什么为某个应用程序启用 OpenMp 会返回此错误消息“致命用户错误 1002:并非所有线程都执行所有工作共享结构”?这种情况甚至没有添加任何并行结构就发生了,而且它只发生在这个应用程序中,这意味着当我尝试在启用 OpenMp 的情况下执行其他应用程序时,这不会发生。

0 投票
1 回答
2122 浏览

global-variables - OpenMP 的全局变量

关于多线程代码的 OpenMP 问题:

线程是否共享所有全局变量?如何使某个全局变量对主线程私有?

谢谢

PS:这是一个C代码。

0 投票
1 回答
212 浏览

c - 在 solaris-sparc 平台上向现有 C 项目添加 openMp 支持

我需要一些建议和帮助,以便在带有“OpenMP”的 solaris8-sparc 平台上重新编译现有的 C 项目(这是一个巨大的项目)。关键是我既不熟悉编译也不熟悉并行编程问题。通过一点谷歌搜索,我发现 sun-studio 11 和 12 已经具有 openMP 基础架构。那么我怎样才能开始用openMP编译c文件。

另一方面

这可以通过下载具有openMP支持的gcc编译器(在捆绑包中)并重命名并将其与以前的cc的位置链接并将openmp头文件包含到项目文件中来完成..这是我想的,但肯定它不是那么简单。所以我该怎么做 ?请你给我一张关于它的路线图。

0 投票
3 回答
416 浏览

c++ - 试图知道为什么 OpenMP 代码不并行化

我刚开始学习如何使用OpenMP。我试图弄清楚为什么以下代码不能与 Visual Studio 2008 并行运行。它编译并运行良好。但是它在我的四核机器上只使用一个核心。这是我试图移植到MATLAB mex 函数的代码的一部分。任何指针表示赞赏。

0 投票
2 回答
2794 浏览

c++ - 并行化包含函数调用的循环

它是否适合并行化包含函数调用的循环,还是更方便地并行化在内部进行基本操作的循环。

例如,是否适合将并行化指令放置如下?


谢谢 Will Richard 和 Phkahler,这些评论很有帮助,我将深入研究 rchrd 建议的书。但是在一天结束之前,如果可能的话,我希望我将现有的 C 代码(实际上是一个位于程序顶部的大循环)与 openMP 并行化。

在这一点上,我需要一些帮助来使循环的至少某些部分并行化。为了简单起见,我如何才能使其中的一部分并行工作,而不是对整个循环内容进行并行处理

0 投票
3 回答
3201 浏览

c - 从 OpenMP 到 MPI

我只是想知道如何将以下openMP程序转换为MPI程序

我有一个类似的程序,我想在集群上运行,并且该程序正在使用 OpenMP。

谢谢!


更新:

在下面的玩具代码中,我想限制函数 f() 中的并行部分:

但是,预计不会出现运行输出。并行部分之前和之后的 printf 部分已被每个进程执行,而不仅仅是主进程:

所以在我看来,并行部分并不局限于 MPI_Init() 和 MPI_Finalize()。