腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
4
回答
Openmp
线程
发散?
、
、
在CUDA中使用了
线程
分歧
这一术语;据我所知,这是一种将不同的
线程
分配给不同任务的情况,这会导致很大的性能损失。基本上,我是在用
openmp
和CUDA写一个程序。我希望两个<
浏览 0
提问于2012-04-21
得票数 5
回答已采纳
1
回答
OpenMP
-使用并行管理多个调用以阻止
、
、
为了说明,我有
线程
A和
线程
B,我的CPU有4个核心,
线程
A调用函数run(),它将创建4个
OpenMP
线程
来运行for loop。现在,同时,
线程
B还调用run(),这将生成更多的4个
OpenMP
线程
,导致总共8个
OpenMP
线程
。我的问题是,在上面的例子中,
OpenMP
可以对A使用一半
线程
,对B使用一半
线程
,是否有办法在
OpenMP
中平衡这一点
浏览 0
提问于2017-11-09
得票数 0
1
回答
OpenMP
线程
更新
、
我有一个有很多数学函数的类,它使用
OpenMP
来对循环进行语法化。每次我调用其中一个类函数时,就会生成一个
线程
团队,完成它们的工作,并将其移除。是否有可能避免
线程
破坏和恢复?我是否可以让
线程
存活,并将它们分配给另一个函数或其他什么东西?在运行时,
线程
数不会改变。
浏览 1
提问于2019-05-10
得票数 0
回答已采纳
1
回答
可以在C++中控制用于执行
Openmp
任务的
openmp
线程
吗?
、
是否可以控制用于执行特定任务的
openmp
线程
?pragma omp task#pragma omp task#pragma omp task} 是否可以控制
openmp
调度器选择执行这三个任务中的每一个的
openmp
线程
集?这个想法是,如果我使用
openmp
的
线程
亲和机制将
openmp
线程
绑定到特定的numa节点,我希望确保每个任务都由适当的n
浏览 27
提问于2021-10-20
得票数 2
回答已采纳
1
回答
编译算法的
OpenMP
和单
线程
版本有什么更好的方法呢?
、
、
、
、
我使用了一个丑陋的解决方案来编译相同的源代码,一次用于
OpenMP
,一次用于单
线程
代码。它包括编译器宏和C文件的双#包含。我在找更好的解决办法。
OpenMP
和Mac
线程
不会混合。这显然是众所周知的。
OpenMP
委员会尚未定义将
OpenMP
与其他
线程
模型(如Posix
线程
)混合的行为。然而,使用Linux的现代版本,
OpenMP
和Posix
线程
似乎没有抱怨地进行互操作。当我在主
线程
之外的东西中使用我
浏览 5
提问于2011-12-09
得票数 2
回答已采纳
1
回答
当使用std::
线程
时,与g++/
OpenMP
相关的Bug?
、
、
、
+ -fopenmp main.cpp -o main运行在Ryzen 3700 x(8个内核,16个
线程
是的,我完全知道这行应该什么都不做,但是对于g++,它会导致上述行为;而且,只有在
线程
上调用run函数时,才会发生这种情况,而不是直接调用。我尝试了各种编译标志(-O级别),但问题依然存在。此外,调用omp_set_num_threads(1);在循环之前的"void (Void)“函数中,为了检查单个
线程
所用的时间,给出了~70
浏览 1
提问于2020-11-24
得票数 2
回答已采纳
1
回答
用ThreadPool实现的
OpenMP
、
、
、
、
我需要为一般任务实现一个
线程
池执行器。我的想法是使用
OpenMP
进行
线程
管理。问题是我还不熟悉
OpenMP
。 { }}; 是否存在使用
OpenMP
用于C++的
线程
池的实现?我知
浏览 7
提问于2012-09-11
得票数 5
回答已采纳
2
回答
检测
OpenMP
线程
/CUDA流之间的竞争条件
、
、
、
我从
OpenMP
并行化的应用程序中得到了错误的数值结果。每个
OpenMP
线程
在NVIDIA上运行一个或多个流。我怀疑在
OpenMP
线程
或CUDA流之间存在争用条件,而正在更新内存。如何找到访问相同主内存地址范围的
OpenMP
线程
/CUDA流集?有工具吗?
浏览 0
提问于2021-04-13
得票数 2
回答已采纳
1
回答
openmp
线程
私有与gcc __thread兼容性
、
我对"
openMP
线程
“的理解是,它们可能不会一对一地映射到OS
线程
。似乎不需要这样做。我看到不久前有一个
浏览 1
提问于2021-10-07
得票数 1
回答已采纳
1
回答
使用多
线程
FFTW时增加执行时间
、
、
、
我把我的2DFFT代码转换成了多
线程
2DFFT。但结果却完全相反。多
线程
2D FFT代码比序列化2D FFT代码运行时间更长。我在什么地方遗漏了什么。我遵循了中给出的所有指令来并行化代码。
浏览 0
提问于2017-08-31
得票数 1
3
回答
如何以更好的方式禁用
OpenMP
指令?
、
、
我有里面有
OpenMP
编译指示的C++代码。我想在多
线程
模式(使用
OpenMP
)和单
线程
模式(不使用
OpenMP
)下测试这段代码。启用/禁用
OpenMP
的最简单或默认方法是什么?
浏览 2
提问于2011-10-21
得票数 20
回答已采纳
1
回答
如何将
OpenMP
线程
映射到作业调度程序(例如: LSF)分配的特定内核?
、
、
、
当使用
OpenMP
的程序运行时,
OpenMP
通常会使用OMP_NUM_THREADS
线程
,为了简单起见,我们可以说每个
线程
都映射到不同的处理器核心。
OpenMP
不知道调度程序(afaik)为程序/作业分配了哪些内核。另外,操作系统实际上是将
OpenMP
线程
映射到核心,而不是
OpenMP
。我的问题是:在幕后发生了什么,以便
OpenMP
线程
只映射到作业调度程序分配给作业的内核? 我希望我的问题是一般性的,但是如
浏览 3
提问于2014-07-11
得票数 1
回答已采纳
2
回答
OpenMP
创建了太多的
线程
、
我不知道为什么
OpenMP
使用这么多
线程
。它似乎与Microsoft实现无关,因为我也尝试过显示相同行为的Intel库。我的代码中有一些并行部分,它们是计算范围的,不应该创建和使用比内核更多的
线程
。但我所观察到的是,对于n个启动
线程
,
OpenMP
会创建n*核
线程
。在我看来这是个大漏线。如果我在服务器上执行一个“小”32位应用程序,它可能会失败,因为1000个
OpenMP
线程
已经需要2GB的地址空间,没有给应用程序留下任何内存。这种情况不应该发生。我希望
浏览 3
提问于2016-05-23
得票数 3
回答已采纳
1
回答
当涉及到GPGPU时,
OpenMP
与OpenCL有什么不同?
、
、
当程序在GPGPU上运行时,如果用
OpenMP
和OpenCL实现,它的执行会有什么不同?在Linux上,
OpenMP
只使用
线程
来管理
线程
。除了OpenCL和CUDA之外,我找不到GPGPU的其他API,所以很明显(但相当痛苦),
OpenMP
在GPGPU上使用OpenCL (如果GPGPU是NVIDIA的,<em
浏览 2
提问于2016-03-06
得票数 2
1
回答
在运行时本地启用/禁用
OpenMP
、
、
、
是否可以在运行时启用或禁用
OpenMP
并行化?我有一些代码,在某些情况下应该并行运行,而不是在不同的情况下并行运行。同时,在其他
线程
中还有其他计算也使用
OpenMP
,并且应该始终并行运行。有没有办法告诉
OpenMP
不要在当前
线程
中并行化?我知道omp_set_num_threads,但我假设全局设置
OpenMP
使用的
线程
数。
浏览 9
提问于2016-08-24
得票数 6
回答已采纳
1
回答
分支分化真的那么糟糕吗?
、
、
我在互联网上看到了很多关于分支
分歧
以及如何避免的问题。然而,即使在阅读了数十篇关于CUDA工作方式的文章之后,我似乎也看不出避免分支
分歧
在大多数情况下对有多大帮助。在我看来,分支
分歧
的大多数实例都涉及到许多真正不同的代码块。例如,我们有以下场景: foo(A) bar(B)foo(A)假设
浏览 2
提问于2013-06-20
得票数 36
回答已采纳
1
回答
单
线程
的
openmp
与无
openmp
的比较
在使用
OpenMP
进行多
线程
处理的代码中,如果
线程
数设置为一个,那么在添加
OpenMP
或删除所有
OpenMP
内容之前,代码的时间性能是否与串行代码相同或非常相似?
浏览 5
提问于2014-04-08
得票数 3
回答已采纳
1
回答
OpenMP
SIMD Vs多
线程
、
考虑到
openmp
使用simd模型,即每条指令都是由所有
线程
执行的,所以在编写
openmp
并行应用程序时应该小心,为什么我们要优先选择
openmp
而不是同一算法的多
线程
版本?
浏览 3
提问于2012-01-29
得票数 0
回答已采纳
1
回答
OpenMP
减慢计算速度
、
、
我正在尝试使用
OpenMP
并行一个简单的循环。(dbl_x, dbl_y, res, 1);
openmp
_test(dbl_x, dbl_y, res, 2);,1个
线程
时间:31.468结果: 3.32834e+12
OpenMP
,2个
线程
时间:34.393结果: 3.32834e+12<em
浏览 0
提问于2019-05-11
得票数 3
回答已采纳
2
回答
OpenMp
与共享内存定义
、
、
根据的说法,
OpenMp
是“共享内存系统上并行编程的事实上的标准”,根据,“使用内存在单个程序内进行通信,例如在多个
线程
中使用内存,通常不被称为共享内存。” 这里怎么了?这是“一般”这个词吗?
OpenMp
实际上只是通过一个相同的虚拟入口空间来创建
线程
“共享内存”,不是吗?此外,我猜
OpenMP
能够在NUMA架构上运行,其中所有的内存都可以由所有处理器来处理,但是当
线程
共享数据时,会增加一些内存访问时间,分配给在不同访问时间访问不同内存的内核。这是真的吗?
浏览 3
提问于2012-03-28
得票数 2
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
VS2019:OpenMP更新及错误修复
优化串行处理代码,获取OpenVPX数字信号处理模块最佳性能,拓展串行算法在计算密集型领域应用
基于深度神经网络的点云孔洞修补算法的并行化研究
多线程和单线程
Java多线程和线程池
热门
标签
更多标签
云服务器
ICP备案
腾讯会议
云直播
对象存储
活动推荐
运营活动
广告
关闭
领券