あるディレクトリ内のファイルのパターンを検索するコードがあります。ポイントはこれをどのように並列化するかです。私の最初のバージョン:OpenMPの/ forのパラレル化 - ディレクトリのファイル
DIR * dptr = opendir(DIRNAME);
struct dirent *dir;
while(dir = readdir(dptr)) != NULL) {
// searching in dir -> d_name;
}
にしながら、だから、私は変換:
#pragma omp parallel
#pragma omp for
for(;(dir = readdir(dptr)) !=NULL;) {
// searching
}
しかし、今、私はエラーを持っている:
「期待反復宣言や初期化をする前に ';'
ディレクトリ内のすべてのファイルを適切なforループで整理する方法を知っていますか?いいえ、ありがとうございます。
コードが使用するI /あなたがそれを並列化してもスピードアップを得ることはできません... –
大きな入力ファイルの場合でも? – Konrad
大きな入力ファイルの場合特にボトルネックはファイルから私の中にデータを移動する可能性がありますデータを処理しません。ファイルが大きいと、カーネルの開閉時間が短くなりますが、すべてのデータを移動する必要があります。 –