• # Et MPI ?

    Posté par . En réponse au journal Petit tour d’horizon de la haute performance et du parallélisme. Évalué à 4. Dernière modification le 08 novembre 2013 à 13:25.

    Quelques remarques très générales.

    J’ai seulement appris MPI et OpenMP, dans la foulée ; je ne connais pas les autres technologies (seulement de nom pour les GPUs), mais de ce que j’en ai compris, c’est que du HPC il s’agit surtout d’exploiter une seule et même machine pour faire un calcul. Perso. quand j’entends HPC, je pense tout de suite à quelques milliers de noeuds tournant en parallèle...

    C’est l’immense avantage de MPI par rapport à OpenMP par exemple : on peut faire travailler un ensemble d’ordinateur, au prix d’une écriture assez complexe là ou OpenMP est un jeu d’enfant pour les codes qui s’y prêtent bien.

    On pourrait citer aussi, étant fan de Python, que le langage propose une bibliothèque qui permet le multiprocessing de manière très facile (et oui, Python permet d’excellentes performances à condition de le prendre par le bon bout).

    Enfin, dernière petite remarque : je trouve que nous avons tendance à trop nous concentrer sur le matériel (j’ai aussi ce travers, bien que j’essaie de corriger), alors que bien souvent chercher un algorithme plus performant amène d’excellents résultats. D’ailleurs, dans ce cas là, il faut veiller à ce que l’algo. soit parallélisable : ce n’est malheureusement pas toujours le cas, ou l’on peut perdre en performances, j’en ai fait l’amère expérience.

    Petite anecdote aussi, en HPC il existe ce genre de matos : le système grape :
    http://nbodylab.interconnect.com/nbl_grape_history.html.