En fait il faut prévoir
explicitement le parallèlisme dans le code de calcul, on peut utiliser
MPI,
PVM,
OpenMP (supporté par les versions récentes de
gcc et autres.
Sinon, on peut lancer quelques calculs indépendants en parallèle. Les outils de gestion de batch (au minimum la commande batch, et aussi des choses plus puissantes NQS?) peuvent aider.
A priori (sauf sur un serveur de calcul haut de gamme) les options de compilation du noyau importent peu.
Pour avoir longtemps fait du conseil (en interne au CEA) sur ces questions, j'ai quelques conseils (politiquement incorrects) qui sont utiles surtout aux jeunes numériciens (moins de 45 ans):
* s'investir dans l'apprentissage du génie logiciel est à terme un gain de temps
* coder en autre chose que Fortran (même 95) est utile, voire indispensable. Et savoir changer de langage de programmation dans sa carrière aussi!
* apprendre un peu de programmation système ou parallèle (MPI, Pthread, Posix, ...) est un plus
* il peut être utile, pour la plupart des codes de calcul, de les architecturer avec un langage de haut niveau, parfois interprété (comme Ocaml, Python, Ruby, Octave, Scilab) qui pilote quelques routines de bas niveau -solveurs, calculs matriciels- qui font la plupart des calculs (et consomment 95% de la CPU).
* ne pas oublier les aspects mathématiques, numériques, et la précision des calculs.
* ne pas oublier qu'un code de calcul devient nécessairement gros (voire monstrueux) avec l'âge: s'investir dans l'architecture du logiciel est gagnant à terme.
* bien connaître les logiciels libres (et éviter les logiciels propriétaires, qui n'ont pas la pérennité attendu des numériciens).
* coupler des logiciels distincts, codés dans des langages différents, est parfois gagnant
* apprendre (et c'est difficile) à faire des bonnes interfaces. Selon le domaine, ca peut être des interfaces graphiques, textuelles, web, ...
* dans pas mal de domaines, s'investir dans l'informatique est mal perçu par la vieille hiérarchie des physiciens/numériciens/.... mais c'est un investissement utile.
Par curiosité, j'aimerais bien connaître le domaine d'applications.
----
Basile STARYNKEVITCH
Membre de l'
APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!
Projet logiciel libre:
RefPerSys