Bonjour
J'ai mis au point un code parallèle de mécanique des écoulements polyphasiques en Fortran 2003 et MPI. Le code tourne très bien, mais comme je sauvegarde en format texte, sur les gros calcul, notre cluster passe plus de temps à écrire les résultats sur le disque qu'à calculer. Je cherche donc à mettre au point un petit format d'écriture binaire "maison", tout simple.
Pas de problème, à priori, pour l'écriture en parallèle (je recommande au passage fortement les cours de l'IDRIS à ce sujet : http://www.idris.fr/data/cours/paral...choix_doc.html), mais impossible de relire ce fichier avec un programme séquentiel Fortran avec des read(unit) classiques pour le re-traduire en fichier texte en post-processing !!!
![]()
J'ai essayé les écritures MPI individuelles, collectives, rien à faireLa seule chose qui marche, c'est l'écriture en séquentiel du header au début du fichier avec des write(unit) : mon programme de lecture peut lire ce header, mais est incapable de lire les données proprement dites, qui, elles, sont écrites en parallèle
. Ces données sont pourtant bien écrites, j'ai vérifié avec la taille des fichier générés !!!
Du coup, je me pose la question suivante : l'écriture en parallèle sur un fichier n'implique-t-elle pas un "format" particulier de ce fichier ? Dans ce cas, il serait impossible de le lire avec un programme ne faisant pas appel à une routine de lecture MPI, et je serais condamné à écrire mon traducteur avec des routines MPI...
Merci d'avance !!!
Yin Zhen
Partager