并行计算—OpenMP—临界区方法求和
来源:互联网 发布:mac ssh key 目录 编辑:程序博客网 时间:2024/06/04 19:30
// OpenMP1.cpp : 定义控制台应用程序的入口点。//使用临界区方法进行求和。#include "stdafx.h"#include <omp.h>#include <stdlib.h>#include <time.h>#include <windows.h>int _tmain(int argc, _TCHAR* argv[]){omp_set_num_threads(2);long long sum=0;clock_t t1=clock(); #pragma omp parallel {long id=omp_get_thread_num();long long sumtmp=0;for(long i=id+1;i<=1000000000;i=i+2)sumtmp=sumtmp+i;#pragma omp criticalsum=sum+sumtmp;}clock_t t2=clock();printf("sum=%lld\n",sum);printf("parallel time=%d\n",(t2-t1));sum=0;t1=clock();for(long i=1;i<=1000000000;i+=1)sum=sum+i;t2=clock();printf("sum=%lld\n",sum);printf("serial time=%d\n",(t2-t1));system("pause");return 0;}
运行结果:
分析:
加速比为:2278/1170=1.947
0 0
- 并行计算—OpenMP—临界区方法求和
- 并行计算—OpenMP—临界区critical
- 并行计算—OpenMP—并行区域法求和
- 并行计算—OpenMP—for指令法求和
- OpenMp之临界区求和
- 并行计算—使用reduction方法求和
- 并行计算—OpenMP—parallel指令
- 并行计算—OpenMP—for指令
- 并行计算—OpenMP—section指令
- 并行计算—OpenMP—负载均衡
- 并行计算—OpenMP—任务调度
- OpenMP 之并行区域方法求和(学习笔记)
- 并行计算—OpenMP—共享与私有
- 并行计算—OpenMP—统计素数的个数
- 并行计算—OpenMP—统计完数个数
- openMP 设置 (并行计算)
- 并行计算工具OpenMP
- MPI—并行求和
- 处理Third App
- 马踏棋盘算法
- 根据年份生成指定格式的序号
- java中静态代码块的用法 static用法详解
- 债工厂如何更新首页的动图
- 并行计算—OpenMP—临界区方法求和
- 利用Swoole实现PHP+websocket 聊天室
- mysql explain详解
- [转载]android 不透明度16进制值
- JDK1.7新特性--对数字的处理
- 我的前端学习之路
- 双向循环链表相关操作
- sqlite3的移植方法,以及交叉编译方法。
- C/C++连续4期创造辉煌节节高,成功背后有什么秘密?