Servers & Systems: The Right Compute
1752577 Members
5040 Online
108788 Solutions
New Article ๎ฅ‚
Leslie_Tung

Make your apps run faster with HPE Cray Programming Environment

HPE Cray Programming Environment is a complete software development suite designed to take the frustration out of the software development, shorten the development cycle, and help make applications run better. HPE Cray Programming Environment was developed by engineers with combined hundreds of years of HPC experience. Dig deeper into the details here. 

HPE-Cray Programming Environment-blog.pngDeveloping applications on production HPC system can be challenging. As HPC systems grow larger and more complex featuring different heterogeneous hardware components to accommodate different workloads, we need software development tools to ease application development and aid with targeted performance tuning and optimization.

HPE Cray Programming Environment is a complete software development suite designed to take the frustration out of the software development, shorten your development cycle, and help you make your applications run better. HPE Cray Programming Environment was developed by engineers with combined hundreds of years of HPC experience.

Enabling faster time to insight

While HPE Cray Programming Environment is best known for its core components of compilers, MPI, debuggers, and libraries, it also offers performance analysis and optimization tools. A comprehensive collection of tools and experiments designed to fit different developers, helping profile to find bottlenecks and parallelize to drive efficiencies for your applications.

CPE_group_July21.png

Figure 1: HPE Cray Programming Environment at-a-glance

Using parallelization to make your app run better can be a tedious guessing game. Watch this video demonstration to see how you can use our performance and optimization toolsโ€”perftools for shortโ€”to solve this problem. In our video, you will see that you can optimize your apps by first collecting performance data on the loops in the application. Next, you can use our visualization tool to examine the performance data in the experiment and identify bottlenecks in the code. You can then use our parallelization assistant to reveal hidden potential of your application via code restructuring. Using this tool allows you to easily navigate through the source code to see which loops could benefit from OpenMP parallelism.

Code parallelization assistant provides dependency and variable scoping information for those loops and assists you in creating and inserting an OpenMP directive in the areas identified for improvement. Finally, you can use a tool called Performance Analysis Tool, also known as PAT, to create a plot of run times versus threads to see if the work you have done resulted in performance increase and to determine just how much of a speed up we attained. In our case, by adding OpenMP multithreading directives to the application, we were able to make it run up to 4x faster. We hope you can achieve this or even better result using these tools to optimize your applications.

Reveal at a Glance.jpg

Figure 2: Parallelization assistant highlights bottlenecks and dependencies and brings up issues which need userโ€™s attention

One of the main advantages HPE Cray Programming Environment offers is that it is a holistic solution. Unlike processor-specific software development tools on the market, HPE Cray Programming Environment enables software development for the full system (including CPUs, GPUs, and high-speed interconnect ). This way, you can get the most performance from your applications across HPE HPC platforms and Cray legacy systems alikeโ€”including systems of all sizes, up to exascale level deployments. HPE Cray Programming Environment is in fact the first complete toolchain for exascale systems. The suite also happens to be the only fully commercially supported programming environment for AMD-based systems on the market.

If you run into any issues, we are here to help. HPE Cray Programming Environment is fully supported by HPE Pointnext Services  to address your questions about the compilers, libraries, and tools, plus our advice on best practices on how to use the toolchain to optimize your applications.

Learn more about what HPE Cray Programming Environment can do for you in this webinar or product brochure. Or visit hpe.com/software/hcpe.


Leslie Tung
Hewlett Packard Enterprise

twitter.com/hpe_hpc
linkedin.com/showcase/hpe-ai/
hpe.com/info/hpc

About the Author

Leslie_Tung

HPC software helps solve the worldโ€™s most challenging problems. Leslie leads the HPC Software Product Management team at HPE responsible for managing a portfolio of HPE-engineered and third-party software for the HPE Cray EX Supercomputers and HPE Apollo HPC systems. The software portfolio includes system management software enabling system resiliency and DevOps software tuned for HPC and AI workloads.