如何在OpenMP中并行这个for循环?

问题描述:

我想通过添加“#pragma omp parallel for”来并行运行循环,但是这并没有提供任何建议来说明我可以如何平行循环?如何在OpenMP中并行这个for循环?

#pragma omp parallel for 
    for (p = split; *p != 0; p++) if (*p == ' ') *p = '0'; 
+1

请添加您用于构建的环境。这看起来像编译或定义不正确。 – namar0x0309

+0

你发垃圾邮件的任何原因Java标记? – Olaf

对于OpenMP来并行化循环,循环迭代次数必须预先确定。在这种特殊情况下,你必须首先要确定字符串长度:

size_t len = strlen(split); 
#pragma omp for 
for (size_t p = 0 ; p < len; ++p) if (split[p] == ' ') split[p] = '0'; 

这是很值得怀疑,你将获得由并行的任何性能优势,在这个例子中,虽然。