OpenMP入门教程(二)reduce sum
入门教程 sum reduce
2023-09-14 09:09:31 时间
#include <iostream>
#include <math.h>
#include <omp.h>
using namespace std;
int main()
{
const int NUMBER = 100;
int* dataA = new int[NUMBER];
int* dataB = new int[NUMBER];
for (int i= 0; i < NUMBER; i++)
{
dataA[i] = i+1;
dataB[i] = 2*(i+1);
}
long double sum = 0.0;
omp_set_num_threads(4);
#pragma omp parallel for reduction(+:sum)
for (int i = 0; i < NUMBER; i++)
{
sum += dataA[i] + dataB[i];
}
cout<<sum<<endl;
delete [] dataA;
delete [] dataB;
return 0;
}
上面代码中我们首先开辟了2块的缓冲区,长度均为100个int,并且初始化为1,2,3100和2,4,6,8200。在并行段执行前,设置线程数为4。接下来是并行指令:
#pragma omp parallel for reduction(+:sum)
指令中#pragma omp parallel for上文已经讲了,而后面reduction(+:sum)起什么左右的呢?要解决这个问题,首先读懂for循环中代码,可以看出只不过是把dataA和dataB中的元素相加,然后赋值给sum,这样循环结束后
相关文章
- 电路板维修入门教程视频_电路板坏了去哪里维修
- Typora ——一款Markdown编辑器入门教程
- Android入门教程二之开发环境搭建[通俗易懂]
- 微信公众号开发系统入门教程(公众号注册、开发环境搭建、access_token管理、Demo实现、natapp外网穿透)
- 网络抓包工具 wireshark 入门教程[通俗易懂]
- PyQt5入门教程[通俗易懂]
- 【入门教程】Rollup模块打包器整合
- 软件开发入门教程网之Git 查看提交历史
- A.机器学习算法入门教程(一): 基于逻辑回归的分类预测
- Redis入门教程
- MongoDB入门教程之聚合和游标操作介绍
- MongoDB入门教程(二)详解大数据
- 安装SQL Server 2014:快速入门教程(sqlserver2014安装教程)
- MySQL入门教程:从PDF学习(mysqlpdf教程)
- 快速上手:Oracle数据库中建表入门教程(oracle建表教程)
- Linux入门教程:驾驭系统的入口(linux入门教程下载)
- MySQL中SUM类型函数的应用(mysql sum 类型)
- Oracle 优势:调用SUM函数实现数据统计(oracle的sum函数)
- 使用Oracle中的SUM字段获取总和的简单方法(oracle sum字段)
- MySQL中的Sum函数快速计算表中数值总和(mysql中sum语句)
- MySQL中如何使用SUM函数(mysql中sum怎么用)
- 21分钟快速入门MySQL教程(21分mysql入门教程)
- 使用Oracle灵活性求和Sum计算(oracle中sum计算)
- Oracle实现一对多汇总信息的Sum运算(oracle一对多sum)
- 使用Oracle SUM索引简化数据库查询(oracle sum索引)
- Oracle SUM函数计算精度把它化整为零(oracle sum精度)
- Oracle SUM 慢得令人发指(oracle sum很慢)
- CSS网页布局入门教程12:纵向导航菜单
- php入门教程精简版