OpenMDAOv1.x:警告:MPI 下的并行派生不是 运行

OpenMDAOv1.x: warning: parallel derivs not running under MPI

我刚刚在我们的超级计算机上安装完 OpenMDAOv1.3。安装成功,所有测试要么通过,要么跳过。但是,当我 运行 测试时,我收到以下警告:

*path/OpenMDAO/openmdao/core/driver.py:228: UserWarning: parallel derivs %s specified but not running under MPI
  warnings.warn("parallel derivs %s specified but not running under MPI")

我不确定该怎么办(如果有的话),所以我正在寻找有关警告消息含义的信息。我们计划 运行 与 OpenMDAO 的内置 MPI 功能并行。我目前在系统上加载了 openmpi-1.8.4。

您可以忽略该警告...这只是因为测试未 运行ning 在 MPI 下。 (测试将修复以抑制警告)。

您还需要执行其他步骤才能 运行 并行进行。这还没有被记录下来,但是我们中的一些人在 anaconda 环境中工作时一直在使用以下步骤:

sudo apt-get install openmpi-bin openmpi-doc libopenmpi-dev
pip install mpi4py # do not use conda install, this causes an mpich conflict
sudo apt-get install liblapack-dev gfortran
pip install --no-deps git+https://bitbucket.org/petsc/petsc@v3.5 
conda install cython
pip install --no-deps  git+https://bitbucket.org/petsc/petsc4py@3.5

为了验证你是否准备就绪,你可以 运行 mpitests 目录中的测试,如下所示:

cd mpitests
find . -name "*.py" -exec python {} \;

或者您可以使用来自

的testflo包
pip install git+https://github.com/naylor-b/testflo.git

然后从 OpenMDAO 目录发出以下命令:

testflo .  -i

请注意,这假定了 Linux 类型的操作系统。目前不支持 Windows 上的并行执行

为了使用 Conda、OpenMPI、mpi4py、PETSc 和 petsc4py 并行获得 OpenMDAO 运行,我已经将 OS X 的 this 过程改编为 Ubuntu:

先决条件

Ubuntu

sudo apt-get install libibnetdisc-dev
sudo apt-get install libblas-dev libatlas-dev liblapack-dev

安装 OpenMPI

下载 OpenMPI:https://www.open-mpi.org/software/ompi/v1.10/

提取和配置

cd ~/Downloads/openmpi-1.10.1
mkdir build
cd build
# I prefer to keep /usr/local clean, so I put it in /opt/openmpi
./configure --prefix=/opt/openmpi --with-devel-headers --enable-binaries
make
sudo make install

将以下内容添加到您的 bash 个人资料

OS X

export DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:/opt/openmpi/lib
export PATH=${PATH}:/opt/openmpi/bin

Ubuntu

export LD_LIBRARY_PATH=LD_LIBRARY_PATH=/opt/openmpi/lib:$LD_LIBRARY_PATH
export PATH=/opt/openmpi/bin:$PATH

激活您的 conda 环境

source activate myenv

安装mpi4py

git clone https://github.com/mpi4py/mpi4py.git ./mpi4py.git
cd mpi4py.git
python setup.py build --mpicc=/opt/openmpi/bin/mpicc
python setup.py install

安装 PETSc

git clone https://bitbucket.org/petsc/petsc.git ./petsc.git
cd petsc.git
python setup.py build
python setup.py install

安装 petsc4py

git clone https://bitbucket.org/petsc/petsc4py.git ./petsc4py.git
cd petsc4py.git
python setup.py build
python setup.py install