openMP-数据并行化小例子
2012-11-16 22:22
141 查看
这是一个采用openMP进行数据并行化的例子,在这个例子中,数据之间是独立的,能很好的利用其优势。这只是一个测试例子,没有什么实际的意义。在这个例子中,全局数组不可太大,否则不能运行。
/* 功能:循环并行化 作者:刘荣 时间:2012.11.15 */ #include<iostream> #include<omp.h> #include<Windows.h> #include<time.h> #include<cmath> //变量声明 const int numVector = 10000; double a[numVector] ,b[numVector] ,c[numVector]; int main() { srand( (unsigned)time(NULL)); //初始化数据 for(int i = 0;i < numVector; i++) { a[i] = i * rand()*1.0/RAND_MAX; b[i] = i * rand()*1.0/RAND_MAX; } //相关数据声明 double start, end, diffTime1, diffTime2; //串行程序 start = clock();//开始计时 for(int i = 0;i < numVector; i++) { c[i] = a[i]*b[i]+sqrt(a[i]/b[i]); } end = clock();//结束计时 diffTime1 = end - start; printf("串行所用的时间:%0.3f s \n",diffTime1/1000); //并行化程序 start = clock();//开始计时 #pragma omp parallel for for(int i = 0;i < numVector; i++) { c[i] = a[i]*b[i]+sqrt(a[i]/b[i]); } end = clock();//结束计时 diffTime2 = end - start; printf("并行所用的时间:%0.3f s \n",diffTime2/1000); printf("加速比:%0.3f \n",diffTime1/diffTime2); return 0; }
相关文章推荐
- OpenMP Tutorial学习笔记(10)OpenMP指令之数据范围属性的子句
- 数据结构概念理解的例子_学习笔记01
- Esayui中的dataGrid分页取数据的例子
- scrapy-splash抓取动态数据例子五
- OpenMP中数据属性相关子句详解(3): reduction子句
- 数据加密例子
- 静态数据初始化的一个经典例子
- xml存储数据的简单例子,php&xml留言板
- 关于ZStack-CC2530-2.3.0-1.4.0中simpleApp例子的 终端节点如何向协调器发送数据,以及数据的接收
- 用ajax.dll来做一个异步数据的交互例子大家分享
- mysql 如何用一条SQL将一张表里的数据插入到另一张表 3个例子
- 大数据IMF传奇行动 Spark pi 例子计算 解析 百万次的运算
- C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)
- 数据操作例子
- 什么是数据、信息和知识?从一个例子说起
- Android 解析后台返回为Json数据的简单例子!!!
- hibernate级联操 同时向2张表插入数据(一对多的关联,一个简单的例子说明)
- vue组件之间的数据通讯小例子
- 一个EXTJS与JSP连接把数据写入数据库的例子
- 利用GridView显示主细表并一次编辑明细表所有数据的例子