社区
英特尔边缘计算技术
帖子详情
openMP疑问
zxm0377
2007-10-11 07:19:38
openMP是什么?和C有关系吗?
...全文
941
13
打赏
收藏
openMP疑问
openMP是什么?和C有关系吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
intel_iclifort
2008-04-07
打赏
举报
回复
另外, OpenMP 也是完全支持 Fortran语言的, 无论在 Linux, Windows 还是 Mac OS. 看看这里:
http://topic.csdn.net/u/20080407/10/6ce8642a-28d0-4dc0-999c-2dbdce09447f.html
intel_iclifort
2008-04-07
打赏
举报
回复
[Quote=引用 11 楼 zcym925 的回复:]
openmp与posix线程哪种好用些?
[/Quote]
肯定是OpenMP容易使用, 特别是渐进式的并行化, 对于很多老代码还是相当有用的. 和操作系统平台也无关, 移植性好
当然它的实现也有很大的局限性, 不如Pthread或者WinThread灵活, 要具体分析才行.
zcym925
2008-04-06
打赏
举报
回复
openmp与posix线程哪种好用些?
intel_iclifort
2008-04-04
打赏
举报
回复
另外, OpenMP的规范也是完全支持 Fortran 语言的
或者可以这样说, 使用 OpenMP 对 原有的 Fortran 程序进行多线程化, 会比较容易实现, 因此在多处理器的环境中也应用得更广泛些(传统的大型机领域, 现在是多核)
intel_iclifort
2008-04-04
打赏
举报
回复
[Quote=引用 8 楼 cornmoon_blue 的回复:]
private(x) reduction(+:sum)
怎么理解?
[/Quote]
并行区内所有的变量缺省都是共享的, 必须声明x为每个线程私有, 否则会有读写冲突; reduction(+:sum)表明对变量sum作求和, 相当于对所有的值进行累加
cornmoon_blue
2008-04-04
打赏
举报
回复
private(x) reduction(+:sum)
怎么理解?
intel_jeff
2008-03-24
打赏
举报
回复
OpenMP使用起来是非常方便的,我们可以很容易的吧一个算pi的程序并行化,只需要增加一行OpenMP语句(红色):
#include <stdio.h>
#include <time.h>
long long num_steps = 1000000000;
double step;
int main(int argc, char* argv[])
{
clock_t start, stop;
double x, pi, sum=0.0;
int i;
step = 1./(double)num_steps;
start = clock();
#pragma omp parallel for private(x) reduction(+:sum)
for (i=0; i<num_steps; i++)
{
x = (i + .5)*step;
sum = sum + 4.0/(1.+ x*x);
}
pi = sum*step;
stop = clock();
printf("The value of PI is %15.12f\n",pi);
printf("The time to calculate PI was %f seconds\n",((double)(stop - start)/1000.0));
return 0;
}
dsdsdds
2008-03-23
打赏
举报
回复
我倒是觉得使用Threading Building Block编程,比用OpenMP编程更方便啊
kphmd
2008-03-21
打赏
举报
回复
OpenMP原来如此好用!新手如是说。
mengmengswat
2007-10-19
打赏
举报
回复
OpenMP是作为共享存储标准而问世的。它是为在多处理机上编写并行程序而设计的一个应用编程接口。它包括一套编译指导语句和一个用来支持它的函数库。
工业标准OpenMP是对C语言的一个扩展,它的目的是支持并行程序设计。
书写OpenMP程序同书写C语言程序相似,只是在C程序中加入了OpenMP的编译指示。这些编译指示描述了程序应该以何种方式并行执行。加入了OpenMP指示的C程序可以由任意支持OpenMP的编译器编译,在不同平台的硬件上执行。也就是说,OpenMP程序同C语言程序一样可移植。因此,用OpenMP重写的程序库也是可移植的。
danscort2000
2007-10-17
打赏
举报
回复
OPENMP是个编译指示代码[指令]
指导编译器某些代码可以编译为多线程模式
一般使用不方便,远不如线程库来的灵活可掌握,但是在科学计算中,很方便
Simore
2007-10-16
打赏
举报
回复
OpenMP是一个支持共享存储并行设计的库,特别适宜多核CPU上的并行程序设计。C/C++相关。
看看这个:http://blog.csdn.net/drzhouweiming/archive/2006/08/28/1131537.aspx
jjjjtiger
2007-10-15
打赏
举报
回复
是共享储存上的并行库,在C中加入一些编译制导就可以
SP800-90B_EntropyAssessment:SP800-90B_EntropyAssessment C ++程序包实现了特殊出版物800-90B中包含的最小熵评估方法
熵评估 密码随机位发生器(RBG),也称为随机数发生器(RNG),需要一个噪声源,该噪声源会产生具有某种程度的不可预测性的数字输出,表示为最小熵。... 该代码使用
OpenMP
伪指令,因此希望编译器支持
OpenMP
。 首选GCC
rv:RV:LLVM的统一区域矢量器
产品特点对
OpenMP
4.5的支持#pragma omp simd和#pragma omp declare simd (将-f
openmp
-fplugin=libRV.so -mllvm -rv给Clang并设置为您)。 支持过程间/递归向量化。 实现,S。Moll和S. Hack(PLDI '18)。 自动...
matlab集成c代码-bpvoTests:在BPVO上进行实验(原始-https://github.com/halismai/bpvo)
如果您遇到任何问题或有
疑问
,请联系 halismai @ cs . cmu . edu 建造 依存关系 具有c ++ 11支持的编译器。 使用gcc-4.9 , clang-3.5和icc 16.0.1测试了代码 版本3.2+ 2.11版的opencv的使用仅限于一些功能。 您需要...
matlab集成c代码-bpvo:照度变化VO
如果您遇到任何问题或有
疑问
,请联系 halismai @ cs . cmu . edu 建造 依存关系 具有c ++ 11支持的编译器。 使用gcc-4.9 , clang-3.5和icc 16.0.1测试了代码 版本3.2+ 2.11版的opencv的使用仅限于一些功能。 您需要...
matlab的代码在相机上实现-bpvo:比实时视觉测速更快
如果您遇到任何问题或有
疑问
,请联系 halismai @ cs . cmu . edu 建造 依存关系 具有c ++ 11支持的编译器。 使用gcc-4.9 , clang-3.5和icc 16.0.1测试了代码 版本3.2+ 2.11版的opencv的使用仅限于一些功能。 您需要...
英特尔边缘计算技术
566
社区成员
7,027
社区内容
发帖
与我相关
我的任务
英特尔边缘计算技术
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
复制链接
扫一扫
分享
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章