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

时间:2015-11-17 20:27:50

标签: parallel-processing mpi openmdao

我刚刚在超级计算机上安装了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。

2 个答案:

答案 0 :(得分:5)

您可以忽略该警告......这只是因为测试未在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上的并行执行

答案 1 :(得分:1)

为了让OpenMDAO使用Conda,OpenMPI,mpi4py,PETSc和petsc4py并行成功运行,我已经为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