社区
英特尔边缘计算技术
帖子详情
openMP疑问
zxm0377
2007-10-11 07:19:38
openMP是什么?和C有关系吗?
...全文
1013
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中加入一些编译制导就可以
OpenMP
出现Stack Overflow及其
疑问
作者练习
OpenMP
时,在Windows的Visual Studio运行案例报错,将x64选项改成x86后运行成功。介绍了32位和64位操作系统区别,尝试注释
OpenMP
指令选x64运行成功,降低数组大小也能成功运行,具体原因待查。
Gauss-seidel迭代不能做
OpenMP
并行化吧?
博客围绕Gauss - seidel迭代能否进行
OpenMP
并行化展开。通过代码分析发现,由于W(I,J)依赖于W(I - 1,J)和W(I,J - 1),存在强数据依赖,对
OpenMP
并行化的可行性提出
疑问
。
VS2010环境与
OpenMP
远程多线程访问MySQL数据库的限制和困惑
本文探讨了使用
OpenMP
并行编程技术时遇到的问题:在某些环境下能够高效地并发访问MySQL数据库,而在另一些环境下则退化为串行执行。通过对不同场景下程序行为的对比分析,提出
疑问
并寻求解决方案。
新手写
openmp
程序,结果不能运行,求教高手指点
博主在Visual Studio 2013中使用Intel Fortran 2013尝试编写
OpenMP
并行程序,该程序旨在求解大型稠密系数矩阵。在调试时虽然没有警告,但在读取数据时遇到运行错误。博主采用了无带回的高斯消去法,并在代码中展示了矩阵读取、并行计算及结果输出的过程,但遇到了程序断点问题,希望得到高手的指导。
【
OpenMp
】
openmp
库的介绍及安装
本文介绍了
OpenMP
并行编程框架,包括其工作原理、如何利用Amdahl和Gustafson定律理解并行效率,以及在Ubuntu系统下编译
OpenMP
库的方法。实例涵盖了图像处理、矩阵运算和机器学习中的应用。
英特尔边缘计算技术
568
社区成员
7,024
社区内容
发帖
与我相关
我的任务
英特尔边缘计算技术
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
复制链接
扫一扫
分享
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章