BlueGene Homepage BlueGene Homepage BlueGene Homepage BlueGene Homepage

Overview

IBM Cross Compilers - Unwrapped

IBM Cross Compilers - Wrapped

IBM Native Compilers

GNU Cross Compilers - Unwrapped

GNU Cross Compilers - Wrapped

GNU Native Compilers

Back to User Guide

NYBlue/P Compiler Invocation


Special Note

When compiling for the NYBlue/P compute nodes, the compiler flags used on NYBlue/L :

-qarch=440 or 440d and -qtune=440

should not be used, instead use:

-qarch=450 or 450d and -qtune=450

See the

Blue Gene/P Application Development redbook

for further details.


NYBlue offers the IBM and GNU compilers. The IBM compilers are recommended for optimal performance.

To run a code on the compute nodes, you must compile and link it using a "cross-compiler" on the front-end (login node). The cross-compiler produces an executable that will run on the compute nodes.

If you instead use a native compiler on the front-end, the resulting executable will run on the front-end but not necessarily on the remote nodes. You should run your applications on the compute nodes only. Also, you can use the native compiler to compile and link serial code only, i.e. there are currently no mpich libraries on the front-end, only on the compute nodes.

So why might you use the native compilers? You may find it harder to build your executable for the compute nodes (i.e. using the cross compiler) than the login node. The login node runs the SUSE Linux Enterprise Server 10.0 (SLES10) operating system. The compute nodes are more limited than standard linux in regard to certain features such as system calls, header files, profiling, and shell utilities. You might decide to use the native compilers to port the serial portions of your parallel code to the front-end (i.e. login node) first, since it is a friendlier environment, then port the entire parallel code to the compute nodes (using the cross compilers).

Finally, for the cross compilers you can invoke each compiler (e.g. the C compiler) directly and be responsible yourself for things like linking in the required mpich libraries, or you can use the mpich wrapper scripts that are provided to do that for you. There are no mpich wrapper scripts for the native compilers because as mentioned there are no mpich libraries for the front-end.

In addition to the compiler invocation information on the sidebar at left, IBM offers a number of redbooks describing other aspects of IBM compiler usage:

XL Fortran for Linux and XL Fortran for Blue Gene/P redbooks

XL C/C++ for Linux and XL C/C++ for Blue Gene/P redbooks

Blue Gene/P Application Development redbook


This site maintained by:
bgwebmaster@bnl.gov

One of ten national laboratories overseen and primarily funded by the Office of Science of the U.S. Department of Energy (DOE), Brookhaven National Laboratory conducts research in the physical, biomedical, and environmental sciences, as well as in energy technologies and national security. Brookhaven Lab also builds and operates major scientific facilities available to university, industry and government researchers. Brookhaven is operated and managed for DOE's Office of Science by Brookhaven Science Associates, a limited-liability company founded by Stony Brook University, the largest academic user of Laboratory facilities, and Battelle, a nonprofit, applied science and technology organization.
Privacy and Security Notice