0
我在調試OpenMP程序。它的行爲很奇怪。 1)如果一個簡單的程序P(while(1)loop)佔用一個核心100%,則OpenMP程序即使佔用所有剩餘核心也會暫停。一旦我終止程序P,OpenMP程序將繼續執行。OpenMP程序的奇怪行爲
2)如果我將OMP_NUMBER_THREADS設置爲32/16/8,則OpenMP程序可以在情況1中成功執行。
我在8核x64機器和32核Itanium機器上進行了測試。前者使用GCC和libomp。後者使用私有的aCC編譯器和庫。所以它不太可能與編譯器/庫相關。
你能幫忙指出可能導致現場的任何可能的原因嗎?爲什麼它會受到另一個程序的影響?
謝謝。