Why We Need Chapel for Large-scale Parallel Computing

Print Friendly, PDF & Email

Brad_Chamberlain_v1-245x300Over at the Cray Blog, Brad Chamberlain writes that the Chapel programming language is designed specifically for large-scale parallel computing.

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 languages like Fortran, C, C++, or Java. Ideally, such a language would strive to be more than simply “decent” and feel as attractive and productive to programmers as Python or MATLAB are. Libraries and pragma-based notations are very reasonable and effective alternatives to creating a language. Yet, given the choice between the three, languages are almost always going to be preferable from the perspectives of: providing good, clear notation; supporting semantic checks on the programmer’s operations; and enabling optimization opportunities by expressing the programmer’s intent most clearly to the compiler, runtime, and system.

Read the Full Story.


  1. I wouldn’t dare to claim that “Chapel is the first programming language designed specifically for large-scale parallel computing,” as claimed in the synopsis here. But I would definitely say that none of the languages that have been designed for such purpose over the past several decades have caught on in any significant sense (typically for good reasons). To that end, I think the community owes it to itself to keep striving for such a language, learning from the mistakes of the past and improving upon them.

    • Thanks, Brad. The article has been corrected. We regret the error.

      • Hi Rich — Thanks for the correction. BTW, is there any chance that the “Notify me of follow-up comments” feature work correctly? I don’t think I received any notice of your follow-up post in spite of checking those boxes — just happened to check back in today.