Carregar o módulo OpenMPI para o httpd do Apache

1

Como posso dizer ao Apache httpd qual versão do MPI usar?

Estou tentando executar um aplicativo da Web do Django no Apache httpd e algumas de nossas páginas fazem chamadas MPI com o mpi4py. O problema é que eu recebo um ImportError quando uma página tenta importar MPI.

ImportError: libmpi.so.1: cannot open shared object file: No such file or directory

O servidor tem o OpenMPI e o MPICH instalados e, em um shell de usuário, eu tive que digitar module load openmpi/gnu antes de poder usar o mpi4py. Por exemplo, isso falharia com um erro ao carregar a biblioteca:

python -c "from mpi4py import MPI"

Eu resolvi que para shells de usuários, criando um arquivo /etc/profile.d/openmpi.sh com esta linha:

module load openmpi/gnu

Infelizmente, parece que o usuário do apache não carrega o perfil global, então ainda tenho o ImportError em minhas páginas. Tentei carregar o módulo no final de /etc/sysconfig/httpd :

. /etc/profile.d/modules.sh
module load openmpi/gnu

Infelizmente, ainda recebo o ImportError. Se eu comentar a importação e verificar os.environ['PATH'] , parece que o módulo openmpi não foi carregado, portanto, o shell que carrega o serviço Apache não deve ser o mesmo que o shell que executa o serviço Apache.

Eu também tentei fazer alterações em /etc/bashrc , mas isso também não parece afetar o usuário do apache.

Estamos executando o Apache 2.2.3 em um cluster Scowld Beowulf com o CentOS 5.9.

    
por Don Kirkby 19.12.2014 / 21:29

0 respostas