diff --git a/tp/tp5/parallelisme.md b/tp/tp5/parallelisme.md index 77e4989..3397893 100644 --- a/tp/tp5/parallelisme.md +++ b/tp/tp5/parallelisme.md @@ -10,10 +10,12 @@ de `1` à `N` à l’aide de `K` processus enfants. Chaque fils calculera la som d’un sous-ensemble de ces entiers et la somme globale sera obtenue en calculant la somme des résultats intermédiaires de chaque fils. Pour que le pére puisse collecter les résultats de ses fils, il créera avec mmap un espace partagé avec ses fils : + ```c -uint64_t *resultats = (uint64_t)mmap(NULL, K * sizeof(long), PROT_READ | PROT_WRITE, +uint64_t *resultats = (uint64_t)mmap(NULL, K * sizeof(uint64_t), PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANONYMOUS, -1, 0); ``` +> pourquoi est-ce nécessaire ? Les entiers sont répartis uniformément entre les fils comme suit (exemple avec K=3) :