gpt4 book ai didi

C OpenMP - 强制执行默认 block 大小

转载 作者:太空宇宙 更新时间:2023-11-04 01:40:50 25 4
gpt4 key购买 nike

在 C 语言中,使用 schedule(static) 并行化循环意味着 block 大小被快速计算为 ceil(循环/线程)

对于我的项目,我必须遍历 9 种不同的 block 大小,其中之一是“默认”。我是这样做的:

我写了一个 perl 循环,用 -DCHUNKSIZE=$c 编译我的程序,在 omp 代码中我指定 schedule(static, CHUNKSIZE).

问题:默认情况下我能做什么? block 大小为 0 不起作用:(

谢谢!

附言我希望避免 #ifdef ... #else ... #endif 因为我有很多并行化的循环

最佳答案

我同意 ejd。至于如何处理,何乐而不为:

#ifdef CHUNKSIZE
#pragma omp parallel for schedule(mode, CHUNKSIZE)
#else
#pragma omp parallel for schedule(mode)
#endif
for ( ; ; ) /* ... */

然后默认不传递-DCHUNKSIZE

关于C OpenMP - 强制执行默认 block 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5781843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com