Bonjour.
Je cherche à rendre parallèle la recherche dichotomique sous openMP. J'ai plusieurs questions à ce sujet:
- est-il possible de paralléliser une fonction récursive (en limitant tout de même le nombre de récursion)... Je crois me souvenir qu'on ne peut pas faire de return dans un #omp parallel du coup ça risque de pausé problème pour la récursion non?
- Sinon, j'essaye aussi de voir si je peux paralléliser la version itérative... Sauf que je ne suis pas sur si paralléliser une boucle while c'est possible...

Voila les étapes d'un algo récursif que j'ai eu mais j'ai du mal à voir comment implémenter:
  • diviser la liste (ou le tableau) en p blocs de taille ceil(n/p), un bloc par proc
  • chaque processeur regarde à son bloc si la valeur cherchée y est
  • si c'est le cas, rediviser cette zone là en p blocs de taille ceil(n/p)
  • etc... jusque trouver la solution.


en théorie je mettrais donc log n /log p (c'est dire log n base p) temps pour trouver vu que je divise mon problème à chaque fois en n sous problème...