Programming Environment Components

Overview of the Cray PE's features, delivery mechanism and components.

The Cray Programming Environment (PE) provides tools designed to maximize developer productivity, application scalability, and code performance. The PE provides tools such as compilers, analyzers, optimized libraries, and debuggers. It also provides a variety of parallel programming models that allow users to make appropriate choices, based on the nature of existing and new applications.

PE components include:
  • Cray Compiling Environment (CCE) - CCE is comprised of compilers that perform code analysis during compilation and automatically generate highly optimized code. Cray compilers support numerous command-line arguments to provide manual control over compiler behavior and optimization. Supported languages include Fortran, C and C++, and UPC (Unified Parallel C).
  • Cray Scientific and Math Libraries (CSML) - CSML is a set of high performance libraries that provide portability for scientific applications by implementing sparse and dense linear algebra (BLAS, LAPACK, ScaLAPACK) and fast Fourier transforms (FFTW).
  • Cray MVAPICH2 - Cray MVAPICH2 is the Ohio State University open source MPI compiled with CCE bindings.
  • Cray Environment Setup and Compiling Support (CENV) - CENV provides libraries that provide support for code compilation and setting up the development environment. It comprises compiler drivers and the Cray PE API, which is a software package used for building module files.
  • Cray Performance Measurement & Analysis Tools (CPMAT) - CPMAT provides a set of tools to analyze the performance and behavior of programs that are run on Cray systems, and a Performance API (PAPI).
  • Cray Debugging Support Tools (CDST)- CDST provides debugging tools, including gdb4hpc and Valgrind4hpc.