簡體   English   中英

Openmp線程關聯性:在程序中設置2個線程,正在運行多少個內核?

[英]Openmp thread affinity: Set 2 threads in the program, how many cores are running?

我編寫了一個Openmp程序,在兩核計算機上運行它。

當我將線程號從1更改為2並將線程號從2更改為4時,我無法獲得2倍的速度。

2個線程到4個線程,即超線程。 由於資源限制,超線程通常無法達到2倍的速度。

但是,從1線程到2線程,仍然無法達到2倍的速度,對此我感到困惑。我搜索並找到了CPU親和力概念,但我不知道Openmp是如何工作的。

當我使用2個線程時,Openmp靜態調度會將2個線程安排為1個內核還是2個內核?

omp_get_thread_num()函數無法告訴我答案,因為返回值為0或1,但我不知道它們是在1核還是2核上運行。

感謝幫助。

可以對proc_bind使用線程關聯:

在此處輸入圖片說明

傳播 在此處輸入圖片說明

在此處輸入圖片說明

希望這可以幫助您選擇合適的選項來工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM