Programming Environment Components
Overview of CPE features and components.
The CPE provides tools designed to maximize developer productivity, application scalability, and code performance, including 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.
CPE components include:
- Cray Compiling Environment (CCE) - CCE consists of compilers that perform code analysis during compilation and automatically generate highly optimized code. 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 APIs for arrays (NetCDF), sparse and dense linear algebra (BLAS, LAPACK, ScaLAPACK) and fast Fourier transforms (FFTW).
- Cray Message Passing Toolkit (CMPT) - CMPT is a collection of software libraries enabling data transfers between nodes running in parallel applications, including the Message Passing Interface (MPI). CMPT libraries provide support for practical, portable, efficient, and flexible mechanisms for performing data transfers between parallel processes.
- Cray Environment Setup and Compiling Support (CENV) - CENV provides libraries that support code compilation and setting up the development environment. It comprises compiler drivers,
hugepagesutility, and the Cray PE API, which is a software package used for building module files. - Cray Performance Measurement & Analysis Tools (CPMAT) - CPMAT provides 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
gdb4hpcandValgrind4hpc.