Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

Subject: [OMPI devel] VT "platform" selection needs documentation
From: Paul H. Hargrove (PHHargrove_at_[hidden])
Date: 2010-08-25 14:49:59


I wanted to test builds of OpenMPI 1.5rc5 and 1.4.3rc1 on Linux/PPC64.
As it happens the only such hast I currently have access to is the
front-end for a BG/P. It was NOT my intention to build Open MPI (or
VapirTrace) for the BG/P, but VT's configure logic decided I was on a
BG/P and so built using the front-end compiler with the compute-node
headers (which was a messy situation).

The autoconf for VT uses a macro ACVT_PLATFORM, located in
    openmpi-1.4.3rc1/ompi/contrib/vt/vt/m4/acinclude.pform.m4
    openmpi-1.5rc5/ompi/contrib/vt/vt/config/m4/acinclude.pform.m4

In 1.4.3rc4, that macro includes the following logic run if --platform
is not specified:

                        linux*)
                                AS_IF([test "$host_cpu" = "ia64" -a -f
/etc/sgi-release],
                                [PLATFORM=altix],
                                [AS_IF([test "$host_cpu" = "powerpc64"
-a -d /bgl/BlueLight],
                                 [PLATFORM=bgl],
                                 [AS_IF([test "$host_cpu" = "x86_64" -a
-d /opt/xt-boot],
                                  [PLATFORM=crayxt],
                                  [PLATFORM=linux])])])
                                ;;

In 1.5rc5 that has expanded to detect more platforms, including the BG/P
where I was working:

                case $host_os in
                        linux*)
                                AS_IF([test "$host_cpu" = "ia64" -a -f
/etc/sgi-release],
                                [PLATFORM=altix],
                                [AS_IF([test "$host_cpu" = "powerpc64"
-a -d /bgl/BlueLight],
                                 [PLATFORM=bgl],
                                 [AS_IF([test "$host_cpu" = "powerpc64"
-a -d /bgsys],
                                  [PLATFORM=bgp],
                                  [AS_IF([test "$host_cpu" = "x86_64" -a
-d /opt/xt-boot],
                                   [PLATFORM=crayxt],
                                   [AS_IF([test "$host_cpu" = "mips64"
-a -d /opt/sicortex],
                                    [PLATFORM=sicortex],
                                    [PLATFORM=linux])])])])])
                                ;;

So the issue I have is that if building on the front-end for any of
these specialized systems, I will get a VT build for the "back-end"
unless I explicitly pass --platform=linux. By itself that sounds OK,
though something about this in ompi/contrib/vt/vt/INSTALL would be nice.

The NEXT problem comes from the fact that Open MPI's top-level configure
has the OMPI_LOAD_PLATFORM macro which expects
--with-platform=<filename>. Thus there appears to be a conflict between
the VT INSTALL documentation and the OMPI configure script.

I am not a newbie, so I DID find the desired solution:
--with-contrib-vt-flags=--platform=linux
However, the only documentation I could find for --with-contrib-vt-flags
in the source tree (as in "grep -R with-contrib-vt-flags") is the output
of "configure --help". I did eventually also find the related FAQ
entry: http://www.open-mpi.org/faq/?category=vampirtrace#vt_options
but that was only AFTER I knew of the problem passing --platform.

So, 3 requests of the VT folks:

1) Document the fact that compilation on a "front-end" of various
systems (Altix, BGP, BGL, SiCortex and CrayXT) will default to building
for the "back-end" system if one doesn't explicitly set platform=linux.
This would be good in the VT INSTALL, and in the VT-related FAQ page for
OpenMPI.

2) Document --with-contrib-vt-flags in the Open MPI README, the VT
INSTALL, or in both places.

3) Consider for the BGL, BGP and CrayXT cases checking in ACVT_PLATFORM
whether back-end compiler is being used. I know that is not possible
for the Altix and SiCortex.

-Paul

-- 
Paul H. Hargrove                          PHHargrove_at_[hidden]
Future Technologies Group
HPC Research Department                   Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900