5.8. How to run OmpSs on Blue Gene/Q?

5.8.1. Installation


If you want IBM compilers support, make sure that the full-name drivers (e.g. powerpc64-bgq-linux-xlc) are in the PATH. You can usually do so by setting the PATH variable before the configuration step:

$ export PATH=/bgsys/drivers/ppcfloor/gnu-linux/powerpc64-bgq-linux/bin/:$PATH

You don’t need to keep this change after the configuration step.

Follow the instructions described here: Installation of Nanos++ and Installation of Mercurium C/C++/Fortran source-to-source compiler, and add these options for each configuration:

  • For Nanos++:

    $ ./configure --host=powerpc64-bgq-linux ...
  • For Mercurium:

    $ ./configure --target=powerpc64-bgq-linux ...

Finally compile and install as usual.

5.8.2. Compiling your application

Mercurium will install the drivers using the target keyword as the prefix, so to build your application:

$ powerpc64-bgq-linux-mcc --ompss test.c -o test

For MPI applications, you can use the MPI wrapper as long as the MPI implementation allows to set the native compiler. For example, if using MPICH:

$ export MPICH_CC="powerpc64-bgq-linux-xlmcc --ompss"
$ mpicc test.c -o test.c

5.8.3. Instrumenting

For non-MPI applications, you can follow the same instructions described here: Extrae

For MPI applications, you should follow the same steps but preloading the Extrae MPI library so that it can intercept the MPI calls. Blue Gene/Q does not allow this method so you will have to link your application with Extrae. You will find an example of how to do it in the Extrae installation directory for BG/Q ‘$EXTRAE_HOME/share/example/MPI/’.