とデコード機能を並列化し、私は(intにバイナリコードから)、次のデコード機能を並列化しようとしています:は、OpenMP
int decodePrimeFactorization(int code){
int prod = 1;
#pragma omp parallel for
for (int j=0; j<PF_NUMBER ; j++){
#pragma omp critical
{
if ((code & 1) == 1){
prod = prod * prime_factors[j];
}
code = code/2;
}
}
return(prod);
}
ループ部分が重要ですが、結果はまだ間違っています。
ご協力いただければ幸いです。
質問をdownvotingする代わりに、改善方法を教えてください。 –
私は落選しませんでしたが、私は並列ループのすべてのラインをカバーする重要なプラグマを置くのはナンセンスだと思います。どのような並列化が必要ですか? – Abolfazl
私は同意します。 2つの命令で2つのアトミック命令を使用することから始めましたが、それは機能しませんでした。だから私はこれを試してみましたが(それは利点がありません)、それが正しい結果を与えるかどうかを確認するだけで、まだ動作しませんでした! –