Compilers, Programming Languages, and Models
Our Fortran, C, and C++ compilers are designed to help extract maximum performance from the systems regardless of the underlying architecture—supporting x86-64 processors (both Intel® and AMD®), as well as AMD and 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 compilers gives programmers optimization feedback with an annotated listing of source code for easier application tuning. They also integrate with debuggers and performance tools in the suite—enhancing each other’s capability to generate correct and performant code.
We focus on standards compliance for code safety, application portability, and investment protection our compilers support standard programming languages (Fortran, C/C++, and UPC) and standard programming models such as OpenMP and OpenACC.
HPE Cray MPI is Is an MPICH ABI compatible library that is tuned for Intel, AMD and CPUs as well as AMD and NVIDIA GPUs. It is customized for low latency and high bandwidth, both on-node and off-node, for point-to-point and collective communications.
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.
Using auto-tuning and adaptation, the libraries choose the known best algorithms at runtime. They also feature simplified interfaces into complex software (no source code changes required to access optimized algorithms) and integrate with the compiling environment for better productivity.
NetCDF and HDF5 I/O libraries are built with the supported compiling environments and included in the suite for convenience.
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. This means that programmers can spend less time debugging and more time creating.
Our 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.
Stack Trace Analysis Tool (STAT) and tool for Abnormal Termination Processing (ATP) are premier tools for exposing exposes defects that are not present at smaller scale and/or are hard to find when running applications at scale.
Sanitizers for HPC: Help developers detect memory and thread errors for easier analysis and debugging of their applications at scale by aggregating and analyzing output of LLVM sanitizers at scale.
We also offer support for traditional debugging mechanisms, via integration with TotalView by Perforce and Arm® Forge.
Porting, Profiling, and Performance Optimization Tools
Comprehensive collection of tools designed to reduce the time and effort associated with porting and tuning of applications on HPE HPC systems. We offer different tools and experiments to fit different developer needs and choice of interfaces for ease of use.
Performance Analysis Tool (PAT) brings valuable insight when analyzing bottlenecks to improve performance of applications that run across the whole system while also automatically generating observations and suggestions to improve code performance.
Programmers can quickly assess the type and severity of the performance issues by using our visualization tool which complements text reports and summarizes programs’ performance data in graphs and charts, allowing users to easily drill down to get to the bottom of issues.
Code parallelization assistant helps developers reveal hidden potential of their application via code restructuring by combining performance statistics and program source code visualization with our compiling environment optimization feedback.