1.VS Release和Debug版本对程序的处理机制不同,特比是对变量的初始化,需要格外注意,可以参考博客:
2.C++ 代码中使用openmp并行运算:
omp_set_num_threads(8);
#pragma omp parallel for schedule(static,1)
for() {};
需要注意:
1) 将VS编译器release下的C/C++ > 优化 > 优化 >使速度最大化 (/O2);
2) #pragma omp parallel for schedule(static,1) 下面的for循环内部,所有使用到的新变量(非下标访问)需要在for循环内部定义成局部变量,而不能在for循环外面声明;
3) #pragma omp parallel for schedule(static,1) 下面的while/for循环内部,不能使用continue/break。
本文探讨了VSRelease和Debug版本处理机制的不同之处,并详细介绍了使用OpenMP进行并行运算时需要注意的关键点,包括编译器优化设置、局部变量定义及循环控制结构的限制。
1033

被折叠的 条评论
为什么被折叠?



