J'utilise Fortran pour faire des calculs scientifiques. J'utilise HPC. Comme nous le savons, lorsque nous soumettons des travaux dans un planificateur de travaux HPC, nous spécifions également la limite de temps de l'horloge murale pour nos travaux. Cependant, lorsque le temps est écoulé, si le travail est en train d'écrire encore des données de sortie, il sera mis fin et il entraînera des valeurs « NUL » dans les données, ce qui provoque des problèmes pour le post-traitement:Comment régler l'horloge interne dans un programme Fortran?
Alors, pourrions-nous mettre en place un mécanisme interne permettant à notre travail de s'arrêter pacifiquement quelque temps avant la fin du délai de prescription du CHP?
Question connexe: How to skip reading "NUL" value in MATLAB's textscan function?
http://gcc.gnu.org/onlinedocs/gcc-4.5.2/gfortran/DATE_005fAND_005fTIME.html – agentp
Vous pouvez system_clock() mais je ne comprends pas vraiment ce qui se passe, pourquoi il y a NULL et ce que vous voulez faire. –
Un commentaire car je devine ce que tu veux dire. Si vous voulez détecter automatiquement votre limite de temps dans un travail par lots et fermer automatiquement une fois que vous approchez cela, eh bien, il n'y a pas de façon standard. Vous devrez d'abord lire la documentation de votre système de traitement par lots pour déterminer comment vous pouvez trouver la limite ou votre travail, puis trouver un moyen approprié de transmettre cette information à votre Fortran (notez l'orthographe, il s'agit de minuscules depuis plus de 25 ans), puis comment vous détecter sont proches de cette limite et comment fermer "proprement". –