为 Apache httpd 加载 OpenMPI 模块

为 Apache httpd 加载 OpenMPI 模块

我如何告诉 Apache httpd 使用哪个版本的 MPI?

我正在尝试在 Apache httpd 下运行 Django Web 应用程序,并且我们的一些页面使用 mpi4py 进行 MPI 调用。问题是当页面尝试导入 MPI 时,我收到 ImportError。

ImportError:libmpi.so.1:无法打开共享对象文件:没有此文件或目录

服务器安装了 OpenMPI 和 MPICH,在用户 shell 中,我必须module load openmpi/gnu先输入一些内容才能使用 mpi4py。例如,这会因加载库时出错而失败:

python -c "from mpi4py import MPI"

/etc/profile.d/openmpi.sh我通过创建包含以下行的文件来解决用户 shell 的问题:

module load openmpi/gnu

不幸的是,听起来 apache 用户没有加载全局配置文件,所以我的页面中仍然有 ImportError。我尝试在末尾加载模块/etc/sysconfig/httpd

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

不幸的是,我仍然得到了 ImportError。如果我注释掉导入并检查,os.environ['PATH']看起来 openmpi 模块尚未加载,因此加载 Apache 服务的 shell 一定与运行 Apache 服务的 shell 不同。

我也尝试进行更改/etc/bashrc,但这似乎也不会影响 apache 用户。

我们在装有 CentOS 5.9 的 Scyld Beowulf 集群上运行 Apache 2.2.3。

相关内容