Openmp入门(2)(for + sections)
来源:互联网 发布:分级阅读 知乎 编辑:程序博客网 时间:2024/06/08 13:12
1. parallel for
for的并行执行code: (c++)
#include <iostream>#include <omp.h>using namesapce std;int main(){ printf("parallel begin: \n"); #pragma omp parallel for { for(int i = 0; i < 10; ++i) printf("i = %d, threadID = %d", i, omp_get_thread_num()); } return 0;}
result:
系统一共开了四个线程, 对于每个线程的本身是串行的, 对于不同的线程是并行的。notice: 1. for 语句来分摊是由系统自动进行,只要每次循环间没有时间上的差距,那么分摊是很均匀的.
2. parallel sections
section 的并行执行code: (c++)
#include <iostream>#include <omp.h>using namespace std;void main(){ #pragma omp parallel sections { #pragma omp section printf(“section 1 ID = %d\n”, omp_get_thread_num()); #pragma omp section printf(“section 2 ID = %d\n”, omp_get_thread_num()); #pragma omp section printf(“section 3 ID = %d\n”, omp_get_thread_num()); #pragma omp section printf(“section 4 ID = %d\n”, omp_get_thread_num()); }}
resule:
notice: 1. section 语句是用在 sections 语句里用来将 sections 语句里的代码划分成几个不同的段, 每段都并行执行. 2. 使用 section 语句时, 需要注意的是这种方式需要保证各个 section 里的代码执行时间相差不大,否则某个 section 执行时间比其他 section 过长就达不到并行执行的效果了. 3. 使用 section 来划分线程是一种手工划分线程.
阅读全文
0 0
- Openmp入门(2)(for + sections)
- openmp 快速入门 常用技巧 parallel for sections reduction critical
- OpenMP Sections
- OpenMP Sections
- OpenMP: sections分段并行
- OpenMP: sections分段并行
- OpenMp之sections用法
- OpenMP之数值积分(求圆周率Pi)(sections)
- Openmp入门(1)
- OpenMP 之 sections 求素数、求和、求积分圆周率(星星笔记)
- 2> OpenMP中的for调度
- OpenMP 入门
- OpenMP 入门
- OpenMP入门
- OpenMp入门
- ubuntu OpenMP parallel for
- OpenMP入门(2)条件编译和查看线程数的函数
- [转]OpenMP 入门
- 动态创建Lambda表达式实现高级查询
- bzoj1753 [Usaco2005 qua]Who's in the Middle
- input标签相关
- 【题目】八数码难题(BFS)
- Substance Designer 生成高清大尺寸地表混合纹理
- Openmp入门(2)(for + sections)
- OpenGL_9:着色器之uniform变量
- python_lintcode_718重复字串_706二进制时间
- 程序设计入门——Java作业
- 活动的最佳实践
- 推荐两个博客
- 把照片唱给你听 | 腾讯AI Lab国际领先技术邀你「趣」体验
- 【转】深入浅出事务之传播属性
- Codeforces Round #441 (Div. 2)F. High Cry |区间问题