Problèmes connus à l'exécution

  • Sur Vargas (IBM Power6 de l'IDRIS), à l'exécution avec OpenMP, le GCM se fige. Pourquoi? Vous avez compilé le GCM en mode parallèle (OpenMP seul ou mixte MPI/OpenMP) sans problème. Pourtant, à l'exécution (aussi bien en interactif qu'en soumettant un job), dès qu'on demande plus d'une tâche OpenMP, le GCM semble se figer dès le début de son exécution comme s'il était bloqué quelque part... En OpenMP, il faut réserver une mémoire (mémoire stack) pour les variables privées de chaque thread (tâche OpenMP). Lorsque cette mémoire est insuffisante, on peut avoir des comportements indéfinis (comme un programme qui se fige, ou un core dump). Sur Vargas, la valeur de la mémoire stack est par défaut de 4Mo, ce qui est bien trop bas, même pour faire tourner le GCM en basse résolution avec simplement 2 tâches OpenMP. Pour remédier à ce problème, il faut augmenter la taille de la mémoire stack via la variable d'environnement XLSMPOPTS. Pour disposer par exemple d'une mémoire stack de 64Mo, il faut (en bash/ksh) précéder l'exécution du GCM par:
    export XLSMPOPTS=stack=65536000
  • Si, à l'exécution de ce0l ou gcm, le programme s'arrête avec le message d'erreur suivant :
    FATAL ERROR FROM ROUTINE getin_decrypt
     --> Too many lines in the run.def files.
     --> You need to increase
     --> the parameter max_lines in the module getincom.
    

    Vous avez une version trop ancienne de IOIPSL. Vous devez avoir au moins la révision 536 ou la version étiquetée v2_1_8.