OpenMP设置线程数及开启方法

1. OpenMP线程数设置

  通常我们希望并行线程数可以随着机器改变自适应的调整,网上介绍OpenMP的文章很多,但是很少提到该怎么分配线程数,一般来说线程数最大可以开到2*核心数,但是这样电脑计算资源就会被占用的过多,其他程序基本上会卡的不要不要的,所以我一般就设置线程为2*核心数-1。

(1) 查看核心数:

OpenMP设置线程数及开启方法
  上面是我电脑的CPU,在CPU使用记录中有四个框,说明这台电脑有四个核心。

(2) OpenMP获取CPU核心数:

omp_get_num_procs() 函数会返回机器的核心数

(3)OpenMP设置线程数:

#pragma omp parallel for num_threads(2*numProcs-1)

2. VS开启OpenMP支持

OpenMP设置线程数及开启方法
  开启成功以后运行多线程程序,你会发现:
OpenMP设置线程数及开启方法