link to homepage

Institute for Advanced Simulation (IAS)

Navigation and service

Blue Gene/Q V1R2M1 Memo to Users

The following is a list of the significant new features and changes:

Recompiling applications and tools (MANDATORY for dynamically linked executables)

Normally on a release boundary it is recommended that applications recompile, however due to the changes described above, dynamically linked applications must be recompiled after V1R2M1 is installed. Failure to recompile can result in application runtime errors.

Statically linked applications do not have to be recompiled, however by recompiling your application for the new release, you ensure that your application will take advantage of the new features contained within the release. Some examples would be improvements in the Message Passing Interface (MPI) libraries. There are functional and performance enhancements to MPI in each release, and recompiling your applications will link to the latest libraries. Also, there are compiler optimizations that can result in more efficient code, and you should recompile to take advantage of these improvements.
Also, any programming tools that depend upon components within the new release should be recompiled. For example, since the PAPI (Performance API) tool depends upon the BGPM library within the new release (interface to the hardware performance counters), the PAPI tool should be recompiled and reinstalled so that applications that are instrumented with PAPI will be compatible as they are recompiled for the new release.
If there are problems with an application and there are any newer levels of libraries available, it is strongly recommended that the application be recompiled before reporting problems to Blue Gene support. The newer levels of libraries can come from a newly installed release or an eFix.

MPICH2 and PAMI install reorganization

The file and directory structure under /bgsys/ppcfloor/comm has been reorganized.

In general, the disjoint installations of the gcc, gcc.legacy, xl, xl.legacy, xl.ndebug, and xl.legacy.ndebug, where each install contained a unique include and lib directory, have been combined into a single top level layout. All header files are now installed under the .../comm/include directory and duplicate header files have been eliminated.

All libraries are now installed under the .../comm/lib directory and have been renamed to avoid name conflicts.

The PAMI headers and libraries have been similarly consolidated into the top level .../comm/include and .../comm/lib directories.
In addition, the previous sys and sys-fast names have migrated to the gcc and gcc.ndebug naming convention.

The libopa.a and libmpl.a libraries are identically configured by mpich for the gcc and gcc.legacy installs, and the xl, xl.legacy, xl.ndebug, and xl.legacy.ndebug installs. To reduce duplication, only a gcc and xl version of these libraries are installed in the .../comm/lib directory.

The mpl headers are installed in a compiler specific subdirectory of .../comm/include because these headers are configured specifically for the compiler. Consequently, applications using the gnu compiler must not include mpl headers that were created using the xl compilers.

Similarly, the MPI Ffortran mod files are generated for a specific compiler and must be installed into compiler specific subdirectories of .../comm/include. The MPI compiler scripts have been updated to include the appropriate mpl headers and MPI Fortran mod files.

The MPI compiler scripts have been moved to version specific subdirectories under the top-level .../comm/bin directory.

The I/O node ramdisk is now populated with symlinks to the individual shared libraries in /bgsys/drivers/ppcfloo/comm/lib instead of containing a copy of the shared libraries as was done before. This is necessary because previously only the gcc.legacy shared libraries were compiled and installed where now all six flavors of mpich shared libraries are created. The I/O node ramdisk memory is conserved by only using symlinks.

Ability to retrieve current task mapping

A new SPI routine, Kernel_GetMapping() was added. This allows user applications to retrieve the ABCDET permutation used for the task mapping. The SPI can also be used to determine if a custom mapfile was used, and retrieve the path to that mapfile.