Je recherche des notes de cours disponibles en ligne ou d'autres ressources qui donnent une bonne introduction à la programmation parallèle, tout comme l'analogue parallèle des cours de base en informatique.
Mon objectif est le suivant: alors que je suis en mesure de parler de division et de conquête, d'algorithmes gourmands, de programmation dynamique et similaires, c'est-à-dire des modèles de base d'algorithmes séquentiels (et de problèmes), et je n'ai pas le langage approprié pour classer les approches dans des algorithmes parallèles.
Par exemple, je voudrais acquérir les termes appropriés pour exprimer le fait que les approches parallèles évidentes à chacun des problèmes suivants ont un comportement qualitatif différent:
- définir un tableau d'entiers tout à zéro (s'adapte parfaitement.)
- sommer un tableau d'entiers (plus vous utilisez de threads, plus les frais généraux sont importants).
- Étant donné un tableau, répertoriez les produits de chaque entrée avec chaque autre entrée (si nous parallélisons le double canonique en boucle, le temps d'exécution sera mis à l'échelle au sqrt des processeurs numériques.)
Un environnement de mémoire partagée suffit, et la communication interprocessus n'est pas si pertinente pour moi (en fait, je m'intéresse aux algorithmes qui l'évitent du tout). De plus, les aspects techniques sont pour moi négociables.