关于OpenMP的归约操作reduction
2024-10-20 20:34:35
这里提一个重要的点
像这样
double sum = ;
void ff()
{
sum += 0.5;
}
//main()
#pragma omp parallel for reduction(+:sum)
for (int i = ; i <= ; i++)
{
ff();
}
cout << sum << endl;
对归约对象的操作“隐藏”在其他函数内部 ,reduction(+:sum)是没有效果的!
但:
double sum = ;
void ff(double *x)
{
*x+= 0.5;
}
//main
#pragma omp parallel for reduction(+:sum)
for (int i = ; i <= ; i++)
{
ff(&sum);
}
cout << sum << endl;
或:
double sum = ;
void ff(double &x)
{
x+= 0.5;
}
//main
#pragma omp parallel for reduction(+:sum)
for (int i = ; i <= ; i++)
{
ff(sum);
}
cout << sum << endl;
这用指针或引用的方式传参是生效的qwq
别踩坑啦
最新文章
- 【python】nuitka封装python
- CSS颜色代码 颜色值 颜色名字大全(转载)
- 自定义UICollectionViewLayout之瀑布流
- C语言 稀疏矩阵 压缩 实现
- nignx的proxy_cache
- II7下配置SSAS通过HTTP 远程链接访问
- ios基础篇(四)——UILabel的常用属性及方法
- 第三百四十二天 how can I 坚持
- Android Studio 运行、编译卡死的解决办法
- JSONObject简介(2)
- Ext常用开发基础知识
- 阿里云手动安装特定版本的nginx
- Centos7安装jexus,部署asp.net core,asp.net mvc
- js立即执行函数用法
- rest_famework 增删改查初第三阶段(高级,此阶段是优化第二阶段的代码)的使用
- VTK使用矢量数据弯曲几何体
- python从FTP下载文件
- matlab server mapreduce
- shell脚本报错:-bash: xxx: /bin/sh^M: bad interpreter: No such file or directory --引用自http://blog.csdn.net/xiaaiwu/article/details/49126777
- 原生JS实现new方法、new一个对象发生的四部、new里面常用的优先级