2016-12-17 3 views
0

J'essaie d'obtenir un environnement ipyparallel de base fonctionnant en utilisant mpi4py comme décrit in the ipyparallel documentation. Après le démarrage de l'ipcluster, je charge ipython et essaie de créer un client mais il n'a pas d'ID et l'accès directview renvoie une exception NoEnginesRegistered.ipyparallel avec mpi ne peut pas trouver les moteurs

mesures que je prends pour arriver à ce point:

  1. Créer un nouvel environnement: conda create --name=ipyparallel et source activate ipyparallel
  2. Installer ipyparallel et mpi4py: conda install ipyparallel mpi4py
  3. Créer un nouveau profil de ipython: ipython profile create --parallel --profile=mpi
  4. Modifier ~/.ipython/profile_mpi/ipcluster_config.py et ajoutez c.IPClusterEngines.engine_launcher_class = 'MPIEngineSetLauncher'
  5. Lancer le cluster avec ipcluster start --profile=mpi

Puis-je lancer ipython et exécutez ce qui suit:

import ipyparallel as ipp 
c = ipp.client(profile="mpi") 
c[:] # <-- NoEnginesRegistered exception 

Étape 5 rapports que « moteurs semblent avoir commencé avec succès » et je peux voir qu'un processus nommé « mpiexec » est en cours d'exécution. Bizarrement, j'ai essayé ces mêmes étapes sur une autre machine avec le même système d'exploitation et là ça a marché sans problème. Qu'est-ce que je rate?

Répondre

0

J'ai résolu le problème pour tous ceux qui viennent ici avec un problème similaire. Pendant l'installation, j'avais ajouté l'extension du carnet à la configuration globale de jupyter. Je ne sais pas pourquoi cela a causé ce problème, mais c'est corrigé maintenant. En dehors d'un environnement de Conda, j'ai couru:

sudo pip install ipyparallel 
sudo jupyter nbextension disable --py ipyparallel 
sudo jupyter nbextension uninstall --py ipyparallel 
sudo pip uninstall ipyparallel 

puis dans l'environnement de Conda je peux connecter aux moteurs ipyparallel.