HPC@CSM: Using IBM's XL Compilers

*Some links may be broken, as pages have moved since first linked, this page is currently under maintenance*

As you have probably already discovered, the HPC@CSM super computer named Energy (mc2), is quite different from any other computer you have probably been around in recent years.  This is largely due to the fact that it uses a different kind of processors or architecture, a different processor that requires a different compiler.

The Machine is a Blue Gene Q, which uses a specially custom built by IBM Power PC processor.

To build programs on the Blue Gene Q, we will use the IBM XL and the GNU based compilers.
The XL compilers have an increased potential to produce more highly optimized code, since they were designed for this architecture.
The GUN compilers might be easier to use when you are compiling for 

FOR GNU Compiling on Mc2

Before using the GNU compilers you will need to load two modules using the following commands:

module load PrgEnv/gcc/gcc-4.4.6.bgq
module load PrgEnv/MPI/gcc/gcc.bgq

Man Pages:

Several important man pages are not in you path by default. You may want to add the following lines to the end of your .bashrc file to enable additional man pages.

export MANPATH=`manpath`
module load useman

MPI and Serial Compiler List

Some compiler optimization notes

Optimization and Traceback Options
Optimization and Programming GuidePDF versionText only version
Code optimization with the IBM XL CompilersPDF versionText only version
 
Blue Gene/Q Tips and Techniques Overview

Note: There is an example makefile and run script for the MPI tracing and hardware performance monitoring discussed above in: /opt/HPM/example

The method discussed for generating human readable tracebacks (for Mc2) is documented here.

xlf (Fortran Compiler) References:

Man Page (html)
Compiler ReferencePDF versionText only version
Getting Started with XL FortranPDF versionText only version
Installation GuidePDF versionText only version
Language ReferencePDF versionText only version
Optimization and Programming GuidePDF versionText only version
Code optimization with the IBM XL CompilersPDF versionText only version

xlc (C Compiler) References:

Man Page (html)
Compiler ReferencePDF versionText only version
Developing and Porting C and C++ Applications on AIXPDF versionText only version
Getting Started with XL CPDF versionText only version
Language ReferencePDF versionText only version
GCC - Mapping to xlc or xlc++ optionsPDF versionText only version
Optimization and Programming Guide - CPDF versionText only version
Optimization and Programming Guide - C/C++PDF versionText only version
Code optimization with the IBM XL CompilersPDF versionText only version

Slurm (Scheduler)

  • Slurm main documentation page includes:
    • List of common Slurm commands and their uses
    • A Rosetta Stone of Slurm commands to other schedulers
    • A few HPC@CSM specific commands

More CSM BGQ Compile and Run Examples:

Libraries:

IBM Engineering and Scientific Subroutine LibraryPDF versionText only version

overview:

IBM BGQ Architecture Talk.pdfPDF versionText only version
IBM System Blue Gene Solution Blue Gene/Q Code Development and Tools InterfacePDF versionText only version
IBM System Blue Gene Solution Blue Gene/Q Application DevelopmentPDF versionText only version
IBM System Blue Gene Solution Blue Gene/Q System AdministrationPDF versionText only version
IBM System Blue Gene Solution Blue Gene/Q Hardware Overview and Installation PlanningPDF versionText only version

Other Blue Gene Q installs

FFT Links:

  1. P3dFFT build tests

Blue Gene Consortium:

  1. Blue Gene Consortium

Blue Gene Ported applications

  1. http://www.alcf.anl.gov/user-guides/software-and-libraries
  2. http://www.bgconsortium.org/codes

© 2018 Colorado School of Mines | | Equal Opportunity | Privacy Policy | Directories | Text Only | Mines.edu | rss

 
Last Updated: 03/16/2018 14:41:45