Travail d'Étude et de Recherche sur l'exploration de semigroupes numériques avec mise en place d'un algorithme de vol de tâches.
Il se déroule au LRI (Laboratoire de Recherche en Informatique), rattaché à l'Université Paris-Sud et au CNRS, dans l'équipe GALaC (Graphes, Algorithmes et Combinatoire).
Tuteur : Florent Hivert
- Étude du problème d'exploration de semigroupes auquel on va s'intéresser
- Implémentation basique en Go
- Parallélisation et optimisation basique
- Étude comparative avec la version optimisée en C++
- Profiler le code Go avec
perf
etpprof
- Utilisation de
cgo
avec appel au code deNumericMonoid
généré par GCC - Traduction de la boucle principale en Go natif utilisant les Goroutines à la place de Cilk du code original
- Implémentation d'un système de type fork-join distribué
- Mise en place du vol de tâche au sein du modèle fork-join
- Finalisation et lancement des calculs
- Distribution du problème des N reines
- Un problème similaire avec Spark
- Utiliser des instructions AVX1 voire AVX2
- Test du compilateur Intel et de LLVM/Clang
- Bug Cilk dans GCC