Witam, tak jak w temacie mam problem ze zrównolegleniem listowania plików w openMP. Zacznę od tego że pierwsze rekurencyjnie zapisuje wszystkie foldery oraz podfoldery które występują w podanej przez użytkownika lokalizacji, następnie w pętli for wywołując funkcję która znajduje pliki o podanym przez użytkownika zakresie rozmiaru i dat oraz wypisuje je. Właśnie tu jest problem i oto przedstawiam kod gdzie próbuje zrównoleglić to listowanie.
#pragma omp parallel for shared(dirs, max_size, min_size, min_date_mili, max_date_mili)
for (int i = 0; i < dirs.size() ; i++) {
int id = omp_get_thread_num();
listFiles(dirs[i], min_size, max_size, min_date_mili, max_date_mili);
cout << "Hello from thread: " << id << " from " << omp_get_num_threads() << " threads" << endl;
}
Chciałbym się dowiedzieć czy to jest odpowiednie zrównoleglenie, czy może istnieje lepszy sposób na to, a jeśli tak to w jaki sposób to zrównoleglić aby było najbardziej wydajne. Robiłem próby listowania na różnych ścieżkach i niestety wyniki nie są zadowalające :( Mam nadzieję że ktoś pomoże.