【问题标题】:OpenMDAOv1.x: warning: parallel derivs not running under MPIOpenMDAOv1.x:警告:并行派生未在 MPI 下运行
【发布时间】:2015-11-17 20:27:49
【问题描述】:

我刚刚在我们的超级计算机上完成了 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。

【问题讨论】:

    标签: parallel-processing mpi openmdao


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      为了让 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
      

      【讨论】:

      • 如果您在集群上工作,您可能不想自己编译 openMPI。如果您决定使用它的调试或复杂构建,您可能还想手动编译 petsc 而不是通过 pip 编译。
      猜你喜欢
      • 2018-05-05
      • 1970-01-01
      • 2011-06-02
      • 2016-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多