如何在OpenMP中并行这个for循环?
问题描述:
我想通过添加“#pragma omp parallel for”来并行运行循环,但是这并没有提供任何建议来说明我可以如何平行循环?如何在OpenMP中并行这个for循环?
#pragma omp parallel for
for (p = split; *p != 0; p++) if (*p == ' ') *p = '0';
答
对于OpenMP来并行化循环,循环迭代次数必须预先确定。在这种特殊情况下,你必须首先要确定字符串长度:
size_t len = strlen(split);
#pragma omp for
for (size_t p = 0 ; p < len; ++p) if (split[p] == ' ') split[p] = '0';
这是很值得怀疑,你将获得由并行的任何性能优势,在这个例子中,虽然。
请添加您用于构建的环境。这看起来像编译或定义不正确。 – namar0x0309
你发垃圾邮件的任何原因Java标记? – Olaf