BlueGene Homepage BlueGene Homepage BlueGene Homepage BlueGene Homepage

Computing Home


IBM Cross Compilers - Unwrapped

IBM Cross Compilers - Wrapped

IBM Native Compilers

GNU Cross Compilers - Unwrapped

GNU Cross Compilers - Wrapped

GNU Native Compilers

Compiling and Linking Guide

Back to User Guide

Compiler Invocation on NY Blue/L

NY Blue 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 9.0 (SLES9) 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.

This site maintained by:

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