我上英特爾®至強®處理器上運行我的程序E5-1650 V3 http://ark.intel.com/products/82765/Intel-Xeon-Processor-E5-1650-v3-15M-Cache-3_50-GHzOpenMP中
處理器有6個CPU(6芯),我想設置的數我的prorgram正在使用的CPU。我的應用程序正在使用openmp。 我不是要設置線程的數量,而是設置CPU的數量。我怎樣才能做到這一點?
我上英特爾®至強®處理器上運行我的程序E5-1650 V3 http://ark.intel.com/products/82765/Intel-Xeon-Processor-E5-1650-v3-15M-Cache-3_50-GHzOpenMP中
處理器有6個CPU(6芯),我想設置的數我的prorgram正在使用的CPU。我的應用程序正在使用openmp。 我不是要設置線程的數量,而是設置CPU的數量。我怎樣才能做到這一點?
您是否嘗試過使用環境變量來控制線程關聯?
如果您使用gcc編譯代碼,您可能需要使用GOMP_CPU_AFFINITY
或OMP_PLACES
。
對於英特爾編譯器,有KMP_AFFINITY
和KMP_PLACE_THREADS
,請參閱Intel documentation。
OMP_NUM_THREADS env var或omp_set_num_threads(int)運行時調用。 – Jeff