2016-06-01 13 views
-2

"#pragma omp parallel for"を追加することで並列にループを実行しようとしていますが、これがどのようにこのループと並列できるかについての提案はありませんでしたか?これをOpenMPのループと並列化する方法は?

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

ビルドに使用している環境を追加してください。これはコンパイルのように見えますが、定義が正しく設定されていません。 – namar0x0309

+0

あなたはJavaタグをスパムしましたか? – Olaf

答えて

5

OpenMPでループを並列化するには、ループの反復回数を事前に決定する必要があります。この特定のケースでは、あなたは、最初の文字列の長さを決定する必要があると思います:

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

それはあなたがが、この例の並列化から任意のパフォーマンス上の利益を得るだろうことは非常に疑わしいです。

関連する問題