Eu estou tentando usar o openmpi de oitava para iniciar outras instâncias de oitava em máquinas remotas. Quando executo o script que deve iniciar os vários processos, ele reclama que as bibliotecas estão desatualizadas:
Running octave in parallel on /opt/data/octave/test using 24 processors
[pleasant-increase:13959] Warning: could not find environment variable "LD_PRELOAD"
[octave-controller:15259] mca: base: component_find: unable to open /usr/lib/openmpi/lib/openmpi/mca_paffinity_hwloc: perhaps a missing symbol, or compiled for a different ver$
[octave-controller:15259] mca: base: component_find: unable to open /usr/lib/openmpi/lib/openmpi/mca_carto_auto_detect: perhaps a missing symbol, or compiled for a different v$
[octave-controller:15259] mca: base: component_find: unable to open /usr/lib/openmpi/lib/openmpi/mca_carto_file: perhaps a missing symbol, or compiled for a different version $
[octave-controller:15259] mca: base: component_find: unable to open /usr/lib/openmpi/lib/openmpi/mca_shmem_mmap: perhaps a missing symbol, or compiled for a different version $
[octave-controller:15259] mca: base: component_find: unable to open /usr/lib/openmpi/lib/openmpi/mca_shmem_posix: perhaps a missing symbol, or compiled for a different version$
[octave-controller:15259] mca: base: component_find: unable to open /usr/lib/openmpi/lib/openmpi/mca_shmem_sysv: perhaps a missing symbol, or compiled for a different version $
--------------------------------------------------------------------------
It looks like opal_init failed for some reason; your parallel process is
likely to abort. There are many reasons that a parallel process can
fail during opal_init; some of which are due to configuration or
environment problems. This failure appears to be an internal failure;
here's some additional information (which may only be relevant to an
Open MPI developer):
opal_shmem_base_select failed
--> Returned value -1 instead of OPAL_SUCCESS
--------------------------------------------------------------------------
[octave-controller:15259] [[INVALID],INVALID] ORTE_ERROR_LOG: Error in file runtime/orte_init.c at line 79
--------------------------------------------------------------------------
It looks like MPI_INIT failed for some reason; your parallel process is
likely to abort. There are many reasons that a parallel process can
fail during MPI_INIT; some of which are due to configuration or environment
problems. This failure appears to be an internal failure; here's some
additional information (which may only be relevant to an Open MPI
developer):
ompi_mpi_init: orte_init failed
--> Returned "Error" (-1) instead of "Success" (0)
--------------------------------------------------------------------------
*** An error occurred in MPI_Init
*** on a NULL communicator
*** MPI_ERRORS_ARE_FATAL: your MPI job will now abort
Continua isto para os vários processos, algumas das bibliotecas diferem, mas sempre tendo
opal_shmem_base_select failed
...
ompi_mpi_init: orte_init failed
Eu tenho visto comentários que dizem alterar os sinalizadores de compilação no openmpi e recompilar.
Um problema é que estou usando um repositório juju local para provisionar as máquinas, e não consigo descobrir onde colocar as bibliotecas para que elas sejam carregadas quando ocorre o provisionamento, em vez da versão que o juju está usando atualmente. Eu sei que os pacotes são armazenados em algum lugar. Não tenho certeza se eles estão na máquina de estado juju, no servidor juju, ou se o juju age como seu próprio canal pass-through.
quaisquer ideias apreciadas.
Adicionado 2015.04.28 1723PST em resposta a Robie Basak ------------------------------------ ---------------
Obrigado pela recompensa, Jorge Castro
Meu cluster não está conectado à rede. O controlador MaaS está conectado, por enquanto, mas será desconectado no futuro. Quando eu configurei o juju, eu usei um repositório local, como em
juju sync-tools -e maas --local-dir="~/.juju/sync-tools"
juju bootstrap -e mass --debug --upload-tools=true --metadata-source="~/.juju/sync-tools" --to jujuBS.maas
juju deploy --repository=".juju/charms" local:juju-gui --to 0
juju expose juju-gui
Eu usei o mesmo mecanismo para os encantos de oitava e controlador de oitava. Quando eu olho para a unidade .... arquivos de log em / var / log / juju, em um dos nós, vejo muitos apts sendo carregados. Estes são armazenados em algum lugar, pois o nó não tem acesso à rede.
Alguns destes são carregados como resultado do carregamento de charme, então parece que tanto o MaaS quanto o juju estão cientes dos requisitos aptos para os encantos. Eu adicionei alguns pacotes de oitava no charme e na instalação, de modo que a oitava os instalasse e, de repente, houvesse aptos faltando. Estes aptos são obviamente requeridos pelo pacote da oitava (open-mpi era um, como se constata). Eu baixei, adicionei ao charme e instalei. Agora o pacote MPI carrega em oitava, mas dá o status que você vê acima.