CMake 3.9对 OpenMP 的支持有了很大的提升,但是根据Modern CMake中的教程,如下配置可能不会生效。
OpenMP 是由计算机硬件和软件厂商共同制定的一组 面向共享内存多线程并行接口,具体并行实现由编译器负责。OpenMP程序的性能及行为与环境变量密切相关,本文简要介绍与性能相关的几个环境变量。
今天编译OpenMP时遇到了一个错误:”error: ‘std::cout’ not specified in enclosing parallel”。根据网上搜索结果,其出错原因为:omp制导语句使用了default(none),代码块中的所有外部变量应该都显式声明为共享或者私有。