0
我試圖執行以下代碼, 雖然我知道「語法上」有序的構造應該出現在for循環中,但爲什麼代碼在有序子句內被刪除,即執行應該給我一個直接的「語法錯誤」。爲什麼下面包含有序「構造」的openmp代碼不執行?
omp_set_num_threads(11);
#pragma omp parallel
{
// 1
#pragma omp ordered
{
printf("\n%d ",omp_get_thread_num());//this statement is not getting executed
}//ordered omp pragma
}//parallel omp pragma
在// 1 print語句成功 我甚至試圖刪除ompgetthreadnum(),但仍無濟於事。
謝爾蓋,那麼就應該給我的語法錯誤 ;我想問問爲什麼這個代碼卡住了! –
@ PuneetS.Chauhan它被困住了,因爲你的openmp編譯器沒有意識到它不是一個「並行的」有序結構,但是你鏈接的openmp庫正在等待適當的同步信號。 –