Compiler Options and Code Optimization

Under construction.


Three different compiler suites are available on SciClone, often in multiple versions. These include the open source GNU Compiler Collection (GCC) and the commercial Portland Group (PGI) and Sun/Oracle (Sun Studio, Solaris Studio) suites. In addition, packages such as MPI and CUDA provide their own compilation commands which are implemented on top of one or more of these base compiler suites. For a complete list of available compilers, consult the "Compilers and Languages" section of the SciClone software page.

For any given application, the choice of compiler and compiler options can have a major impact on performance. Generally speaking, the commercial compiler suites (PGI and Sun) will produce better results than GCC, and we therefore recommend their use whenever the code base permits. There are exceptions, however, so some experimentation may be in order, particularly for applications with long runtimes. Compiler optimization guidelines are provided below, tailored to SciClone's various hardware platforms.

SciClone features a large collection of third-party application software, and the compiler requirements vary from one package to another. Some packages are highly portable and have been compiled with multiple compiler suites, while others require a very specific compiler version. Where applicable, compiler information is included in the local documentation pages for individual software packages. As a rule, application software should be linked to libraries which have been compiled with the same compiler suite, and should use compatible compiler options.