openmp 相关问题

OpenMP是一种跨平台的多线程API,它允许使用特殊的编译器指令进行细粒度的任务并行化和同步。

使用多线程时加速低于预期

备注:我觉得这有点愚蠢,但这可能对某人有帮助 因此,我试图通过使用并行性来提高程序的性能。但是,我遇到了问题

回答 1 投票 0

使用Qt Creator时如何打开OpenMP

如果我使用 VS 2010 编译器从 Qt 创建者构建项目,我如何启用 OpenMP(从 Visual Studio 构建时,只需启用该功能)谢谢

回答 2 投票 0

如何使用本地版本的openMP? (GOMP)

我想对我从 (git repo) 下载的 GOMP 库进行一些更改(只是暂时打印一些内容)[https://github.com/gcc-mirror/gcc.git% 5C] 但看起来就像我正在做的...

回答 1 投票 0

在并行循环的子例程中通过传递的索引处理共享数组

在并行循环中,我使用子例程处理共享数组,将数组和当前私有索引作为参数传递给该子例程,但程序因数组越界错误而崩溃。 ...

回答 1 投票 0

向量化一个带有“继续”分支的循环

我目前正在学习一门课程,在该课程中我们可以使用超级计算机。 CPU 是 Intel(R) Xeon(R) Gold 6240 CPU。我们的任务是矢量化(但我们不被允许使用

回答 1 投票 0

Jupyter 内核在训练 LightFM 模型“fit_partial”时死机

最初从 lightfm.datasets import fetch_movielens 导入时,我得到以下输出: 用户警告:LightFM 是在没有 OpenMP 支持的情况下编译的。仅使用单个线程。 然后,我

回答 1 投票 0

当 clang 构建的程序同时链接 libomp 和 libgomp 时会发生什么?

我有一个 C/C++ 程序,其中包含来自我的 Linux 发行版的各种依赖项。 一些依赖项与 GCC 的 OpenMP 库 libgomp.so 链接。 我的程序本身有它的代码编译...

回答 1 投票 0

OpenMP 对 `_CRT_fenv' 和 `_setargv' 的未定义引用

我正在尝试运行这个简单的 OpenMP 示例: #包括 #包括 使用命名空间 std; int main() { 开关(_OPENMP){ 案例200805: 计算<< "Op...

回答 2 投票 0

clang OpenMP 循环继续计数超出循环条件限制

我有以下有趣的问题: #包括 #包括 使用命名空间 std; int main(const int, const char **) { 常量 size_t n = 13; // 触发问题 ...

回答 1 投票 0

tensorflow_cc 导致对 `omp_in_parallel@VERSION' 的未定义引用

我在 Arch linux 上安装了tensorflow-opt-cuda,但尝试链接为 g++ -fopenmp "CMakeFiles/intro-hello-world.dir/hello-world.cc.o" -o intro-hello-world /usr/lib/libtensorflow_cc.so /us...

回答 1 投票 0

为什么缩减不能用于 OpenMP 任务?

这是计算曼德尔布罗特集面积的数值近似值的代码。我不明白为什么在声明时我不能写duction(+ : numoutside)而不是shared(numoutside)...

回答 1 投票 0

openmp 原子更新与临界区

顺序循环、临界区、原子更新。 我有一个由顶点和边组成的二维图。 对于每个顶点,我想计算自由度 (dof) 的数量。 顶点自由度 = n...

回答 1 投票 0

`use omp_lib` 实际上是做什么的?

根据本指南,需要包含 use omp_lib 来启用 openmp 功能。但是,如果我使用 ifort -qopenmp 进行编译,我的代码执行得很好,并且我得到了预期的速度,无论如何......

回答 1 投票 0

重复单精度复矩阵向量乘法(速度和精度提高)

我将一个长时间运行的函数简化为一系列“简单”的矩阵向量乘法。矩阵没有变化,但是向量却很多。我做了一个测试

回答 1 投票 0

OMP 并行嵌套循环

我正在尝试使用 C 中的 omp 将两个 n × n 矩阵相乘。 但我的代码只计算对角线元素。这是代码: 我的代码 # 包括 # 包括 int main(v...

回答 1 投票 0

输出每个线程处理的迭代次数

我有并行处理矩阵的代码,应该输出有关每个线程已处理多少次迭代的信息,但它只输出一个线程的信息。我开始学习了

回答 1 投票 0

如何将 openMP 并行区域转换为 fortran 中的 MPI

我编写了一个离散元模型来计算粒子之间的相互作用。第一步,我使用了 openMP,并对超级计算机集群进行了一些扩展分析,现在我准备好升级了...

回答 1 投票 0

在 Windows 中使用 GNU gcc 编译 openmp 失败

我有 Windows 8 64 位操作系统。 我想尝试使用以下 C 代码来实现 OpenMP 功能: 你好.c程序 #包括 #包括 #包括 我有 Windows 8 64 位操作系统。 我想尝试使用以下 C 代码来实现 OpenMP 功能: hello.c节目 #include <stdio.h> #include <stdlib.h> #include<omp.h> int main() { #pragma omp parallel printf("Hello world!\n"); return 0; } 当我尝试使用以下命令从命令提示符运行程序时: gcc -fopenmp hello.c 我收到以下错误: c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot fin d -lpthread collect2.exe: error: ld returned 1 exit status 我的道路上有 C:\MinGW 和 gcc 4.8.1。 我缺少什么? 谢谢osgx, 作为一个新手,我无法理解这些pthreads是什么意思。 但毕竟我找到了解决我的问题的方法。 我从 http://www.equation.com/servlet/equation.cmd?fa=fortran 在我的机器上安装了 gcc 4.8.2 64 bit。 它更改了环境变量(在路径中)本身。安装完成后, 我重新启动了电脑 当我输入时: gcc -fopenmp hello.c 对于命令行中的上述代码,该代码有效。 另一个技巧是使用 docker 容器与 gcc。 步骤: 安装docker 在docker终端中:docker pull gcc 然后运行终端并安装主机文件夹,其中 C 脚本位于 gcc 容器内,输入: docker run -it -v /hostfolder:/folderincontainer gcc /bin/bash 然后在终端中执行脚本。 很简单。无需担心操作系统的细节。

回答 2 投票 0

在 CPU 上运行 Tensorflow 时抑制 OpenMP 调试消息

在Linux上运行包含导入tensorflow(在没有GPU支持的情况下安装)的Python程序时,即使tenso中没有函数,也会将一堆OpenMP调试消息写入标准输出...

回答 2 投票 0

如何解决 OpenMP 上的竞争条件?

bool clusterExists(std::string& infoSet) { 布尔存在{false}; #pragma omp 关键 存在 = mInfoMap.find(infoSet) != mInfoMap.end(); 返回存在; } InfoSet* get(std::string&a...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.