OpenMP是一种跨平台的多线程API,它允许使用特殊的编译器指令进行细粒度的任务并行化和同步。
我需要帮助。我无法让这个组合生成算法(按字典顺序)并行工作。算法取自Rosettacode网站,链接为:https://rosettacode.or...
大家好,感谢那些会看我的问题的人。 我有一个子程序,我尝试使用 open MP 来做我想做的事情,但似乎没有它我的代码更快。 问题我有一个很大的清单......
在 Visual Studio 中对多线程 OMP C++ 进行性能分析
我目前正在分析当前在 Visual Studio 2017 下运行的大量多线程 C++。查看任务管理器下的结果,我的程序正在保持所有 CPU 内核和线程运行...
我尝试并行化以下代码 双 a = 1.5; 双 b = 2.5; 双 *arr = ...; 对于(我= 0;我< N; ++i) { arr[i] = b; b *= a; } I have tried different constellations of pr...
我正在尝试使用 odeint 在 C++ 中实现三体问题集成,但是要进化,系统需要很多时间(系统集成仅 50 年大约需要 10 小时),所以我想...
我可以使用临时二维数组来避免 OpenMP 中的数据依赖吗?
我有一段代码是这样的: 整数n=5; 本征::VectorXd vec(n); vec.setZero(); 对于(int i=0;i<100;i++) { int idx = i%n; vec(idx)+=(i/n); } std::cout< 我有一段代码是这样的: int n=5; Eigen::VectorXd vec(n); vec.setZero(); for(int i=0;i<100;i++) { int idx = i%n; vec(idx)+=(i/n); } std::cout<<vec<<endl; 我想并行化它。 我想出了一个避免数据依赖的方法。 int n=5; int num_thread = 6; omp_set_num_threads(num_thread); Eigen::MatrixXd mat(num_thread,n); mat.setZero(); #pragma omp parallel for for(int i=0;i<100;i++) { int idx_pool = omp_get_thread_num(); int idx_col = i%n; mat(idx_pool,idx_col)+=(i/n); } Eigen::VectorXd vec(n); vec = mat.rowwise().sum(); std::cout<<vec<<endl; 请问这个方法对吗?
为什么我的数独解算器使用 openMP 串行工作而不是并行工作?
我正在编写一个代码,使用 openMP 并行解决 NxN 数独难题。当我在没有 -fopenmp 选项的情况下进行编译时,代码工作正常,但是当我使用 -fopenmp 进行编译时,我得到了奇怪的结果。 这里...
我正在编写一个代码,使用 openMP 并行解决 NxN 数独难题。当我在没有 -fopenmp 选项的情况下进行编译时,代码工作正常,但是当我使用 -fopenmp 进行编译时,我得到了奇怪的结果。 这里...
我有一个循环的时间积分,在其中(在下一个时间步找到数组的值)我基本上计算三个方程并且三个方程中的每一个都是独立的......
我已经使用 C++ 创建了 N^2 时间复杂度的朴素 N 体问题的实现,并尝试使用 OpenMP 对其进行并行化。例如,用 1000 bodie 运行程序 5 次...
CMake - 允许 mingw 与 OpenMP 和 opencv
我尝试设置一个 C++ 环境来处理图像(使用 opencv)和并行计算。主要问题是我无法成功地将所有部分链接在一起。作为提及,我使用 mingw ...
我目前正在学习成为一名计算机工程师,我需要使用 OpenMP。经过一些研究,我仍然无法安装它(#include 仍然无法识别)。我...
我对我从英特尔编译的 Fortran 代码中得到的结果有疑问,这是一个原始的两个 CPU 36 xeon 2690v2(我认为)线程机器和一个较新的两个 CPU 128 Xeon 6338 线程机器......
静态链接使用 fPIC 编译的 libgomp.a 时找不到符号的版本节点
我正在尝试使用 -fPIC 重新编译旧版本的 gcc/gfortran,以便我能够使用 -fPIC 编译对象静态链接库 # gcc/gfortran 配置和编译 ...
我正在编写一个程序来对行数和列数大于 1000 的随机数执行链式矩阵乘法。该程序对 10 个矩阵执行链式矩阵乘法...
为项目 VVCSoftware_VTM 中的 XCompressCU 功能使用 OpenMP
我正在做一个旨在减少 VTM 编码器时间的大学项目。为此,决定尝试在 Jvet VTM 编码器的 XCompressCU 函数中将循环分成两个线程。
我正在使用 OpenMP 研究二维泊松方程并行求解器。求解器是使用逐点 Gauss-Seidel 和 Thomas 算法开发的。代码在 GNU 编译器上执行...
OpenMP:为什么我的并行代码比串行代码慢?使用 FFTW
我有一个大量使用 FFT 的代码,快速分析表明计算机确实在我的 FFT 函数上花费了大部分挂钟时间。我有一个使用 openM 的简单尝试......
英特尔 MKL 多线程矩阵向量乘法 sgemv() 稍作休息后变慢
我需要每 500 微秒运行一次多线程矩阵向量乘法。矩阵是一样的,向量每次都在变化。 我在 64 核 AMD CPU 的 MKL 中使用 Intels sgemv()。如果我
我正在尝试优化此功能,根据 perf 工具,该功能是接近线性缩放的归档瓶颈。当线程数量增加时,性能会变差,当我...