Compilers and Programming Languages
HPE Cray Programming Environment has Fortran, C, and C++ compilers that are designed to extract increased performance from the systems, regardless of the underlying architecture - supporting x86-64 processors (both Intel® and AMD®), Arm®-based HPC processors, as well as NVIDIA® accelerators.
The compilers automatically identify regions of computation that are either sequential scalar, vector parallel, or highly multi-threaded; and automatically exploit these capabilities of the system.
The compiling environment integrates with the performance optimization tools so programmers can easily understand what the compiler needs on the code to perform better.
Focus on standards compliance for application portability and investment protection. Supporting standard programming languages (Fortran, C/C++, UPC, and PGAS) and programming models (OpenMP and OpenACC).
Scientific and Communication Libraries
The HPE Cray Programming Environment offers a comprehensive collection of highly-tuned linear algebra subroutines designed to give increased performance from the system with less effort.
Customized LibSci (including BLAS), LAPACK, and ScaLACK, our iterative refinement toolkit and LibSci_ACC (accelerated BLAS, LAPACK) are designed to take full advantage of the underlying hardware optimizing for node performance and network performance on most HPE Cray HPC systems.
Highly adaptive software – by using auto-tuning and adaption, the libraries give the user the optimal known codes at runtime.
Debugging, Porting, Profiling, and Performance Optimization Tools
The HPE Cray Programming Environment offers traditional debuggers with innovative techniques which allow users to address debugging problems at a broader range and scale than conventional techniques.
Market-unique comparative debugger helps programmers uncover issues by running two applications side by side with notifications for possible errors displayed via GUI. This capability is useful for locating errors that are introduced when applications are modified or ported between architectures.
The collection of performance measurement, analysis, and parallelization tools offered are built to help developers port and enhance applications, reducing the time investment associated with porting and tuning applications.
The tools provide the whole program with performance analysis across many nodes to identify critical performance bottlenecks within a program, provide load imbalance analysis, and target scalability issues.
A visualization tool is included, which helps quickly asses severity of issues. The parallelization assistant combines performance statistics and program source code visualization with compiler feedback, allowing users to improve application performance by code restructuring.
Deep Learning Plugin
HPE Cray Programming Environment features a plugin on which data scientists can easily perform deep learning training on HPE Cray systems – utilizing either CPUs or GPUs. The tool helps achieve enhanced scaling and performance across multiple machine learning frameworks, such as TensorFlow™.
The plugin is designed to scale deep learning frameworks to largest node counts possible.
One of the key benefits is that the plugin automatically determines which nodes to use, removing the burden of figuring out how many servers to use and where to put them.
The software helps you to easily add parallelism to your applications – start from a serial training script and include the plugin for parallelism.