В C для распараллеливания цикла с schedule(static)
будет означать, что размер куска быстро вычисляется как ceil
(loops/threads)
.
Для моего проекта я должен пройти через9 различных размеров чанка, один из которых «по умолчанию».Вот как я это сделал:
Я написал цикл Perl, который компилирует мою программу с -DCHUNKSIZE=$c
, а в коде omp
я указываю schedule(static, CHUNKSIZE)
.
Вопрос : что я могу сделать по умолчанию?Размер куска 0 не работает: (
Спасибо!
PS Я надеялся избежать использования #ifdef ... #else ... #endif
, так как у меня очень много параллельных циклов