在C中使用schedule(static)
並行化循環將意味着塊大小被快速計算爲ceil
(loops/threads)
。C OpenMP - 強制執行默認塊大小
對於我的項目,我必須通過9個不同的塊大小,其中之一是「默認」。我是這樣做的:
我寫了一個perl循環,編譯我的程序-DCHUNKSIZE=$c
和omp
代碼我指定schedule(static, CHUNKSIZE)
。
問題:我能爲默認做些什麼? 0塊大小不工作:(
謝謝!
PS 我希望避免#ifdef ... #else ... #endif
因爲我有被並行
忘了提及...我有20個循環,並希望避免ifdef/else/endif無處不在 – Mikhail 2011-04-25 19:09:39
@Mikhail Ahhh。我想說默認是1,但我不知道它是否保證是,我必須看看。 – 2011-04-25 19:12:01
它不是1,它實際上計算循環的數量並將其分成線程數 – Mikhail 2011-04-25 19:47:06