OMP—线程数超过处理器数
OMP - more threads than the number of processors?
默认情况下OpenMP指令:
opm_get_num_threads
给出了相当于处理器/内核的线程数。
我有一台8芯机器,所以它能给我8根线。这是最大值吗?如果我故意指定超过8个线程,我能得到超过8个的线程吗?
感谢
您可以使用设置任意数量的线程
int threads = 16;
omp_set_num_threads(threads);
http://msdn.microsoft.com/en-US/library/e16bady3%28v=vs.80%29
但是,请确保您意识到使用比系统中的逻辑核心更多的线程的缺点。
相关文章:
- #定义c-预处理器常量..我做错了什么
- 预处理器:插入结构名称中的前一个行号
- 如何在c++中实现处理器调度模拟器
- C/C++预处理器是否可以检测一些编译器选项
- 要与"if constexpr"一起使用的编译时消息(在预处理器之后)
- 在clang++预处理器中确定gcc工具链版本
- 不同/较旧的处理器运行c++代码的方式是否不同
- C++omp没有显著改善
- 用于交叉编译和CMake的预处理器宏的单元测试
- 等待整个 omp 块完成,然后再调用第二个函数
- 有没有办法在从编译器获取参数时避免预处理器宏?
- 如何比较两个同名的预处理器宏?
- 从预处理器获取 Windows 版本(C++ Win32)
- 如何摆脱为条件编译定义预处理器宏的需要?
- C 预处理器 - 现有定义的预置路径
- VS2015 预处理器定义与点
- 不带预处理器的调用方法/文件的文件名/行号
- 获取文件数据预处理器宏
- 有没有办法在 c++ 中拥有条件预处理器
- OMP—线程数超过处理器数