Why Chapel? (Part 3)


This article wraps up the series started in my previous two blog articles (here and here) with the goal of explaining why we are pursuing the development of the Chapel parallel programming language at Cray Inc. In those articles, I advocated for the pursuit of productive new languages like Chapel. In this article, I’ll cover reasons for developing a new language rather than extending an existing one. Why create a new language? Why not extend C, C++, Fortran, … ? People who ask this question are typically referring to one or more of the following perceived benefits. By extending a language you don’t have to reinvent the wheel and can build on what’s come before.  While this is true, conventional languages also tend to carry baggage that ... [ Read More ]

Managing Data from High-Performance Lustre to Deep Tape Archives


On September 17 we will present Cray’s Tiered Adaptive Storage (TAS) solution at the Preservation and Archiving Special Interest Group (PASIG) event in Germany. Session topics will include managing and preserving research data and infrastructures to support preservation of data at scale. Cray has a natural interest in contributing to these areas because a large number of our customers run Lustre® file systems. As of today, more than 120 petabytes of data capacity has been deployed on Cray supercomputers. Our customers produce enormous amounts of simulation data every day with the numerical models they use in science and engineering. Data protection policies apply to a significant portion of that data, and it frequently needs to be ... [ Read More ]

Why Chapel? (Part 2)


This is the continuation of my previous blog article describing why we are pursuing the development of the Chapel parallel programming language at Cray Inc. In that article, I argued for why the HPC community should consider pursuing productive new languages like Chapel. In this article, I’ll tackle some of the skepticism that typically arises in such conversations. With so many languages trying and failing . . . is this an intractable problem? Personally, I don’t believe that there is any inherent technical reason that we, as a community, can’t create a decent and productive language for large-scale computing. I believe that our failure to do so thus far has been due less to technical challenges (though they do exist) and more to ... [ Read More ]

Why Chapel?


In previous articles for this blog, I’ve provided a high-level overview of Chapel, the parallel programming language that we’re developing at Cray Inc., and I’ve introduced Chapel’s iterators as a sample productivity-oriented feature. In this article (the first in a series), I’ll address some recurring questions about why we’re pursuing Chapel. Why develop a new language? My short answer to this question is that, quite simply, I believe programmers have never had a decent programming language for large-scale parallel computing. By “decent,” I mean one that contains sufficient concepts for expressing the parallelism and locality control required to leverage supercomputers, while also being as general, effective, and feature-rich as ... [ Read More ]

Video Blog: Cray Application Performance Team Poised to Get the Most from HPC Systems

Supercomputing solutions are more than the hardware they run on. It is supercomputing applications that transform ideas into reality and answer previously unanswerable questions. With a wider variety of customer sectors demanding parallel computing and other sophisticated functions, Cray is committed to finding ways to get the most value and efficiency from our systems. As part of that effort, we have a team dedicated to working closely with customers and numerous independent software vendors (ISVs). Our application performance team is devoted optimizing application solutions that help our customers make the most of their investments. Here’s a brief look at their work. What is the Cray Application team’s area of expertise? Like ... [ Read More ]