我正在使用OpenMP并行执行一个大的循环。假设我正在处理的数组总共有N个条目。我希望一个线程做前N/2个条目,另一个线程做最后的N/2。
我必须避免线程在相邻的条目上工作。大小N总是比线程的数量大得多,所以如果我能让OpenMP按照我上面概述的方式分发工作,我就不需要担心锁。
如果在编译时大小N是已知的,我可以使用#pragma omp parallel for schedule(static,N/2)
。不幸的是,它不是。那么,我如何动态定义块大小呢?
https://stackoverflow.com/questions/5605620
复制相似问题