For loop OpenMP动态循环块余数

For loop OpenMP动态循环块余数,for-loop,openmp,For Loop,Openmp,在OpenMP中为for循环指定块大小时,如果有余数,是否由编译器处理?例如,如果我迭代13个点,块大小为4个线程和3个线程,假设使用了所有线程,那么其中一个线程将获得第5个点,还是需要指定该点?是OpenMP为您处理该点。您不必指定任何内容 我假设您在这里谈论静态调度,因为对于动态调度,它似乎相当明显 例如,静态调度 将循环划分为大小相等的块或在循环中尽可能相等的块 循环迭代次数不能被 线程数乘以块大小。 剩余的块根据实现进行划分 如果您想根据 对于一组p线程,让天花板(n/p)为整数q,其中

在OpenMP中为for循环指定块大小时,如果有余数,是否由编译器处理?例如,如果我迭代13个点,块大小为4个线程和3个线程,假设使用了所有线程,那么其中一个线程将获得第5个点,还是需要指定该点?

是OpenMP为您处理该点。您不必指定任何内容

我假设您在这里谈论静态调度,因为对于动态调度,它似乎相当明显

例如,静态调度

将循环划分为大小相等的块或在循环中尽可能相等的块 循环迭代次数不能被 线程数乘以块大小。

剩余的块根据实现进行划分

如果您想根据

对于一组p线程,让天花板(n/p)为整数q,其中 用0满足n=p*q-r