The Cray Compiling Environment
The Cray Compiling Environment (CCE) contains both the Cray C and C++ compilers.
The Cray Compiling Environment (CCE) contains both the Cray C and C++ compilers.
Log in either to a login node or a standalone application development system and use the Cray XE, Cray XK, Cray XC, Cray CS series systems, or Cray Envoy systems Programming Environment, and related products to create an application which executes on compute nodes. For further information about login nodes and the user environment, see the Cray Programming Environment User's Guide.
Throughout this manual, the differences between the Cray C and C++ compilers are noted when appropriate. When there is no difference, the phrase the compiler refers to both compilers. All compiler command options apply to Cray C and C++ unless noted.
The Cray C Compiler
The Cray C compiler consists of a preprocessor, a language parser, an optimizer, and a code generator. Invoke the Cray C compiler with the cc compiler driver command. This command and its options are also described in the craycc(1) man page.
The Cray C++ Compiler
The Cray C++ compiler consists of a preprocessor, a language parser, an optimizer, and a code generator. Invoke the Cray C++ compiler with the CC compiler driver command. The CC command is described in and the crayCC(1) man page. See Command Line Examples.
Standards
The Cray C compiler conforms to the International Organization of Standards (ISO) standard ISO/IEC 9899:1999 (C99).
The Cray C++ compiler accepts the C++ language as defined by the ISO/IEC 14882:2003 standard, with some exceptions. The exceptions are noted in Cray C and C++ Dialect Use.
The Cray C++ compiler also contains support for the C++11 version of the C++ language as defined by the ISO/IEC 14882:2011 standard, with the exception of the “alignas” type specifier. This support can be enabled with the –hstd=c++11 command-line flag.
The Cray C compiler supports the UPC 1.3 specification. The UPC 1.3 specification is discussed on the UPC specification website, http://code.google.com/p/upc-specification. This support can be enabled with the -hupc command-line flag.
The Cray C compiler also contains support for the C11 version of the C language as defined by the ISO/IEC 9899:2011 standard. This support can be enabled with the -hstd=c11 command-line flag.
Related Publications
The following documents contain additional information that may be helpful:
- cc(1) compiler driver man page
- craycc(1) man page for the Cray C compiler
- CC(1) compiler driver man page
- crayCC(1) man page for the Cray C++ compiler
- intro_directives(7) man page
- intro_openacc(7) man page
- intro_pgas(7) man page
- ftn(1) compiler driver man page
- crayftn(1) man page for the Cray Fortran compiler
- aprun(1) man page
- Cray Fortran Reference Manual
- Cray Programming Environments Installation Guide
- Cray Programming Environments User Guide
- Cray Performance Measurement and Analysis Tools User Guide