今天用了一下openmp,本人表示非常喜欢openmp的傻瓜化模式,导入一个头文件 直接parallel for #include <iostream> #include <omp.h> using namespace std; int main() { //cout<<"Thread num == "<<omp_get_thread_num()<<endl; #pragma omp parallel for num_thre
OpenMP中任务调度主要针对并行的for循环,当循环中每次迭代的计算量不相等时,如果简单地给各个线程分配相同次数的迭代,则可能会造成各个线程计算负载的不平衡,影响程序的整体性能. 如下面的代码中,如果每个线程执行的任务数量平均分配,有的线程会结束早,有的线程结束晚: #include<stdio.h> #include<omp.h> int main(){ int a[100][100] = {0}; #pragma omp parallel for for (int i =0;