Optimizing HPC Program Performance with OpenMP and Reveal

Reveal-Blog-Image

What do you do when the performance of the MPI program that distributes your work across many cores and nodes starts to level off? Like any good programmer, you enlist the help of your favorite performance profiler to understand what’s going on. You find that you are now network bound, or that the MPI memory footprint has grown so large that there is little room left for your program. Assuming you still have plenty of work to do, how can you modify your program so you can continue to scale? One solution is to introduce another level of parallelism within the node. Save MPI for communication between nodes or between NUMA regions, and use threading within a node. When MPI levels off, moving to a hybrid programming model like MPI + OpenMP ... [ Read More ]

Top 5 Blog Posts From 2015

Top-5-Blog-Image

Happy New Year! Check out some of the top blog posts from 2015: Why Do Better Forecasts Matter? Meteorologists have been striving to increase the accuracy of their work since the first weather forecasts were issued in the mid-19th century by pioneers such as Robert FitzRoy. In the 1950s and 1960s, the development of computers and observational technologies enabled forecast generation using the numerical weather prediction theories of Vilhelm Bjerknes and Lewis Fry Richardson. Today the numerical models that support our weather and climate forecasts are true “grand challenge” problems, requiring on the order of 10,000 billion (1016) mathematical operations and the exchange of 150 billion (1.5 x 1014) bytes of information to generate a ... [ Read More ]

Deepening Cray’s Involvement in Collaborative R&D and Codesign

CERL-Blog

Cray recently announced the birth of our new computing research organization for Europe, the Middle East and Africa (EMEA), the Cray EMEA Research Lab (CERL). Our investment in Europe is not new (the Cray®-1 and every machine since found a European home), but an explicit focus on research is a big and bold move for our company. I am very honored to be leading that change, and I will explain here what you can expect to see from CERL. Recent collaborations in EMEA For our current customers, this move is very welcome, but may not have been a huge surprise. That’s because during the last five years we have become more involved in deep research collaborations in EMEA. Most notably, Centers of Excellence at EPCC, HLRS and recently also at ... [ Read More ]

Six Ways to Say “Hello” in Chapel | Part 3

Chapel-blog-post

This article concludes the introduction to Chapel via simple “Hello world” programs that I started in parts one and two of this series. In the previous articles, we’ve looked at serial and data-parallel approaches to saying “hello” in Chapel. This time around, we’ll look at task-parallel ways to do so. Concurrent Hello World The following program uses concurrent tasks to print out its “hello” messages: This program replaces the data-parallel forall-loop that we’ve used in previous versions with a coforall-loop. Mnemonically, “coforall” can be thought of as meaning “concurrent forall.” Coforall-loops differ from forall-loops in that they create a distinct task for each iteration of the loop. Because of this, the body of a ... [ Read More ]

Cray’s Chapel Team to Host Reddit AMA!

Chapel-Blog-image

On Wednesday, Oct. 14, the Chapel development team at Cray will be hosting an all-day Reddit AMA (Ask Me Anything) session starting at 8:30 a.m. PDT on the /r/programminglanguages subreddit.  The AMA will focus on the topic of the Chapel parallel programming language — what it is, what makes it unique, technical questions about Chapel, the challenges of language adoption, the status of the project, and whatever else is on readers’ minds. In addition to questions specifically about Chapel, participants are encouraged to ask more general questions about parallel programming languages and models. Whether you're interested in Chapel specifically, or parallel programming languages more generally, we invite you to attend this AMA, posting your ... [ Read More ]