• Download the patched  OpenMPI source package
  • Configure, make and install (you must pass following options to the ./configure script: --enable-heterogeneous --disable-ipv6). E.g.:
     tar xjf openmpi-1.3.1.tar.bz2 
     cd openmpi-1.3.1
     ./configure --prefix=/opt/QCG/OMPI/ --enable-heterogeneous --disable-ipv6 --enable-debug
     sudo make install
  • Configure the ports to be used by the OpenMPI library by editing global MCA parameters file (PREFIX/etc/openmpi-mca-params.conf). If you dedicated ports 5000-5100 for the MPI traffic the configuration would look like:
      oob_tcp_port_min_v4 = 5000
      oob_tcp_port_range_v4 = 100
      btl_tcp_port_min_v4 = 5000
      btl_tcp_port_range_v4 = 100 
  • If the cluster is  behind NAT the address of the SOCKS server must be also given, for e.g.:
      oob_tcp_socks_server =
      btl_tcp_socks_server =

the above mca parameters denote that the cluster's worker nodes are accessible via the SOCKS server deployed on machine of IP address on port 19010.

  • Download the  OMPI deployment scripts
  • Edit the Makefile and set the QCG_OMPI_HOME variable to the prefix selected during the OMPI library installation (e.g. /opt/QCG/OMPI/) then type make and make install:
      tar xzf ompi-deployment.tar.gz 
      cd ompi-deployment
      vim Makefile 
      sudo make install