OpenMP并行发送哪些元素
which element are sent by OpenMP parallel for?
我是OpenMP的新程序员。我想并行处理我的数据,我使用OpenMP。当我与OpenMP parallel for一起使用时,如何获取在for循环中处理的元素?例如:
#pragma omp parallel for
for(int i = 0; i < 10; i++){
myFunc(i);
}
我不想一起发送1、3、6或2 4 7。我可以管理哪些号码一起发送吗?
您应该了解区块大小,因为它可能会帮助您调度示例
例如,如果你擅长1,2,3,4,5,6等等,你可以简单地通过以下代码来完成:
#pragma omp parallel for schedule(static, 2)
for(int i = 0; i < 10; i++){
myFunc(i);
}
这个schedule(static, 2)
意味着每个线程将取2个连续的数字,如下所示:
- 线程1:1,2
- 螺纹2:3,4
- 螺纹3:5,6
依此类推,直到没有更多数据为止。如果您想要不同的日程安排,请查看帖子开头的链接。但请注意,其中一些可能会带来一些额外的开销。
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 使用strcpy将char数组的元素复制到另一个数组
- 使用不带参数的函数访问结构元素
- 给定n个元素的m个集合.在C++中找到出现在最大集合数中的元素
- C++如何通过用户输入删除列表元素
- lower_bound()返回最后一个元素
- 基于多个条件处理地图中的所有元素
- 使用并行参数向量调用元素向量的成员函数
- OpenMP并行发送哪些元素
- 是否可以使用OpenMP并行化一个列表,该列表可以在每次迭代中添加新元素
- 是否可以在并行区域中为共享 2D 数组创建选定元素的线程本地副本?(共享,私有,障碍:OPenMP)
- blaze-lib 的元素操作是否自动并行?
- 并行算法将向量的元素分配到另一个元素的元素
- 对一个具有重复元素的数组进行排序时更新并行数组
- 如何在每个块的元素多于线程的数组上执行并行扫描
- 在检查现有元素时,从文件填充并行数组时出现问题
- c++将unique_ptrs类型的vector作为参数传递给另一个等长vector的对应元素(特别是并行传递)
- 大数组中元素的并行和
- 并行查找第一个元素