multithreading - 设置OpenMP中的内核数

标签 multithreading openmp intel cpu-cores

我在英特尔®至强®处理器E5-1650 v3上运行我的程序
http://ark.intel.com/products/82765/Intel-Xeon-Processor-E5-1650-v3-15M-Cache-3_50-GHz

该处理器有6个CPU(6个核心),我试图设置程序使用的CPU数量。我的应用程序正在使用openmp。
我不是要设置线程数,而是要设置CPU数。我怎样才能做到这一点?

最佳答案

您是否尝试过使用环境变量来控制线程的亲和力?

如果要使用gcc编译代码,则可能要使用 GOMP_CPU_AFFINITY OMP_PLACES

对于Intel编译器,有KMP_AFFINITYKMP_PLACE_THREADS,请参阅Intel documentation

关于multithreading - 设置OpenMP中的内核数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35071321/

相关文章:

c++ - 使用 MFC 实现队列的正确方法?

java - 对必须手动中断的异步计算进行单元测试

c++ - 如何正确并行化嵌套的 for 循环

visual-studio-2008 - CMake-使用Intel编译器生成Visual Studio项目

Java ArrayBlockingQueue 取源码

python - 使用greenlet同时执行多个函数的问题

fortran - 为什么在这个 openmp 代码中会发生段错误?

c - OpenMP For - 用于缓存优化的组循环

caching - 如何查看末级缓存中有多少个切片?

intel - 复杂代码和分支预测器