Installation de coevolNe

Bonjour,

j'essaye de compiler la suite de programmes coevolNe (branche coevolNe du dépôt https://github.com/bayesiancook/coevol) en clonant le dépôt git et en chargeant les modules gcc/9.3.0 et openmpi/4.0.4. La compilation a l'air de bien se passer mais en lançant le programme, je vois cette erreur:

*** An error occurred in MPI_Init
*** on a NULL communicator
*** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort,
*** and potentially your MPI job)
[cpu-node-6:125817] Local abort before MPI_INIT completed completed successfully, but am not able to aggregate error messages, and not able to guarantee that all other processes were killed!

Comment pourrais-je résoudre le problème ? Est-il possible d'installer la suite coevolNe ?

Bien cordialement,
Yves Clément

Bonjour,

Il y'a déjà un gcc dans le module openmpi, en l'occurence gcc 7.5.0

Je ne suis pas sur que ce soit la cause de l'erreur, mais du coup ca vaudrait peut-être coup de tester la compilation avec ce gcc plutôt que de charger celui du module 9.3.0

Un deuxième point d'attention, c'est que la commande 'module load' ne modifie pas les variables d’environnement typique pour une compilation.
Est-ce que vous pouvez donner le résultat des commandes :

env | grep CC
env | grep FLAG
env | grep LD
gcc --version
mpicc --version

(juste avant de lancer a compilation)

Bonjour,

Merci pour votre réponse, je vais essayer.

Voici les résultats des commandes :
env | grep CC et env | grep FLAG ne donnent rien

env | grep LD
LD_LIBRARY_PATH=/shared/software/miniconda/envs/openmpi-4.0.4/lib
LD_LIBRARY_PATH_modshare=/shared/software/miniconda/envs/openmpi-4.0.4/lib:1

gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36)

mpicc --version
x86_64-conda_cos6-linux-gnu-cc (crosstool-NG 1.24.0.123_1667d2b) 7.5.0

Merci
Yves

Bonjour,

Visiblement, ce n'est donc pas le gcc souhaité qui est utilisé :wink:

Un moyen détourner d’éviter ce souci est d'utiliser directement conda:

/shared/software/miniconda/bin/conda init
. ~/.bashrc
conda activate openmpi-4.0.4

Vous pourrez ensuite voir que votre environnent à changé:

Du coup j'ai testé la compilation et l'utilisation de coevol sur mon compte et en effet j'obtiens le même message d'erreur quand je lance par exemple:

srun -N 2 coevol

j'ai le même résultat :

A priori le souci viens donc de MPI_Init.

Apparemment c'est la commande mpirun qui permet à cette "fonction" de fonctionner correctement.

En lançant donc:

srun -N 2 mpirun coevol

Le message d'erreur disparaît !
Et il affiche plutôt un message comme quoi il manque des arguments:

Ne sachant pas vraiment quel argument lui passer, je ne suis pas aller plus loin :wink:

Je vous invite à lire la documentation d'openmpi pour plus d'information sur comment l'utiliser avec slurm:

Bonjour !

Merci pour votre aide, tout marche très bien (en tout cas le petit test que j'ai fait hier soir)

Bonne journée
Yves