OpenMP 之for指令并行求和(学习笔记)
来源:互联网 发布:数组 指针 区别 编辑:程序博客网 时间:2024/06/05 08:34
OpenMP 并行求和for指令并行求和方法
开启两个并行线程程序如下:
#include "stdafx.h"#include <stdio.h>#include <time.h>#include <stdlib.h>#include <omp.h>#define NUM_THREADS 2int _tmain(int argc, _TCHAR* argv[]){omp_set_num_threads(NUM_THREADS);long long sum = 0;long long sumtmp [NUM_THREADS];clock_t t1 = clock();#pragma omp parallel{long i;long id = omp_get_thread_num();long long temp = 0l;#pragma omp forfor(i = 1;i<= 1000000000; i++){temp +=i;}sumtmp[id] = temp;}for(long i = 0;i<NUM_THREADS; i++){ sum +=sumtmp[i];}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++){sum = sum + i;}t2 = clock();printf("sum=%lld\n",sum);printf("serial time=%d\n",(t2-t1));printf("wo shi xingxing\n");system("pause");return 0;}运行结果如下图:
开启四个并行线程(修改如下语句):
#define NUM_THREADS 4运行结果如下图:
0 0
- OpenMP 之for指令并行求和(学习笔记)
- OpenMP 之并行区域方法求和(学习笔记)
- 并行计算—OpenMP—for指令法求和
- OpenMP Tutorial学习笔记(9)OpenMP指令之THREADPRIVATE指令
- 并行计算—OpenMP—for指令
- OpenMP Tutorial学习笔记(4)OpenMP指令之同步构造(Parallel)
- OpenMP Tutorial学习笔记(6)OpenMP指令之组合共享工作构造(Combined Work-Sharing)
- OpenMP Tutorial学习笔记(7)OpenMP指令之任务构造(Task Constructs)
- OpenMP Tutorial学习笔记(8)OpenMP指令之同步构造(Synchronization Constructs)
- OpenMP Tutorial学习笔记(3)OpenMP指令之指令格式和指令范围
- OpenMP Tutorial学习笔记(5)OpenMP指令之共享工作构造(Work-Sharing)
- OpenMP Tutorial学习笔记(10)OpenMP指令之数据范围属性的子句
- OpenMP并行程序设计-1e9求和(顺手存代码)
- OpenMp之reduction求和
- openMP并行学习1
- 并行编程之OpenMP
- OpenMP 之 sections 求素数、求和、求积分圆周率(星星笔记)
- OpenMP并行程序设计之OpenMP使用入门
- 09. 语句
- 基于MTK 的 TP 驱动分析
- 脚本编程入门
- HDU 4992 Primitive Roots(求出n的所有原根)
- 黑马程序员——java基础——集合工具类
- OpenMP 之for指令并行求和(学习笔记)
- Linux 文件系统的 Superblock, Inode, Dentry 和 File
- 如何使用QML动态产生Component来完成我们的气球游戏 (1)
- BaseAdapter使用Filter笔记
- Storm简介
- Android 编程下 Touch 事件的分发和消费机制
- H3C交换机SNMP配置
- CloudStack 4 安装详解
- 道路监控网络摄像机常见的7大问题