15 ms·
The Chapel Parallel Programming Language
- kolev 12y agoFrom the little I saw, it seems to be a pretty nice language.
- cabacon 12y agoFortress (http://en.wikipedia.org/wiki/Fortress_(programming_language) http://en.wikipedia.org/wiki/Fortress_(programming_language)) and X10 (http://en.wikipedia.org/wiki/X10_(programming_language) http://en.wikipedia.org/wiki/X10_(programming_language)) were the other two languages that came out of the DOE HPCS program (http://en.wikipedia.org/wiki/High_Productivity_Computing_Systems http://en.wikipedia.org/wiki/High_Productivity_Computing_Sys...) that might be interesting if you liked Chapel. Other aiming-for-HPC languages include co-array Fortran (http://en.wikipedia.org/wiki/Coarray_Fortran http://en.wikipedia.org/wiki/Coarray_Fortran) and Unified Parallel C (http://en.wikipedia.org/wiki/Unified_Parallel_C http://en.wikipedia.org/wiki/Unified_Parallel_C). I never really saw any of them while working in HPC, though. It was just Fortran, C, and sometimes Python. The Python would really just call out via SWIG to a C function for the numeric kernel.
- julienchastang 12y agoChapel emerged a while back from DARPA's High Productivity Computing Systems project along with the Fortress (now defunct) and X10 programming languages. Out of curiosity, is there a reason Chapel is a getting attention now?
- BruceIV 12y agoThis looks seriously cool. I need to spend a day or so really diving into the documentation, but if they can actually get this completely built and optimized it looks like it has the right features to be a systems language for the age of massively parallel and cloud computing. I'm especially interested in the domain maps - I need to read more, but it looks like a system that separates the semantic view of a data structure (this is an array of integers, you can perform these functions on them) from the implementation details of in-memory layout and distribution across systems. Essentially, you seem to be able to adjust the algorithms on your data structures and the (extremely performance-critical) representation of them somewhat orthogonally.
- ihnorton 12y agoThe overview paper [1] is a reminder of the pace of change in computing: > DARPA’s HPCS program was launched in 2002 with five teams, each led by a hardware vendor: Cray Inc., Hewlett-Packard, IBM, SGI, and Sun. It also has one of the more amusing euphemisms I've heard in a while: > In 2003, the HPCS program transitioned to phase II, and a programmatic downselect occurred, enabling the Cray, IBM, and Sun teams to pursue their proposed research plans. [1] http://chapel.cray.com/papers/BriefOverviewChapel.pdf http://chapel.cray.com/papers/BriefOverviewChapel.pdf
- mncolinlee 12y agoI worked on the Chapel team in MN about eight years ago. I'm glad to see they're still actively working on the project. It seemed very promising then.
- bastawhiz 12y agoHow not to promote a language: hide almost all examples of source code for the language behind at least two clicks in PDFs. I was finally able to find an example of defining a variable after visiting the Tutorials page and reading through the first two and a half powerpoints, the first two not containing a single line of Chapel code. Seriously, if I need to spend ten minutes just to find out what the language looks like where an example is somewhere between the extremes of the ten lines of code in the "quick reference" chart and the 313-page formal language definition, I'm probably not going to dive into the setup process to get the thing running when I can just go learn Rust or whatever. https://twitter.com/MozElevator/status/368467593805328384 https://twitter.com/MozElevator/status/368467593805328384 To someone on this project: you'll get a heck of a lot more community behind your code if you have at least one or more pages that look like the following: http://dlang.org/comparison.html http://dlang.org/comparison.html http://coffeescript.org/#overview http://coffeescript.org/#overview https://www.python.org/doc/ https://www.python.org/doc/ http://doc.rust-lang.org/tutorial.html#syntax-basics http://doc.rust-lang.org/tutorial.html#syntax-basics http://learnyouahaskell.com/starting-out http://learnyouahaskell.com/starting-out http://tour.golang.org/#1 http://tour.golang.org/#1 http://www.scala-lang.org/documentation/getting-started.html http://www.scala-lang.org/documentation/getting-started.html http://clojure.org/getting_started http://clojure.org/getting_started http://www.php.net/manual/en/intro-whatis.php http://www.php.net/manual/en/intro-whatis.php
- binarymax 12y agoThe fifth bullet point on the page has a link to the examples directory. http://svn.code.sf.net/p/chapel/code/branches/release/1.9/test/release/examples/ http://svn.code.sf.net/p/chapel/code/branches/release/1.9/te...
- pjmlp 12y agoThat is why the languages of OS vendors (C, Java, C#, JavaScript, Objective-C, ....) get adopted over, sometimes better, alternatives. It doesn't matter how one likes them, or how easy they are to learn, they are what is supported out of the box without additional integration pains.
- tempodox 12y agoThis looks definitely interesting. I'll have a closer look and play around with it a little to see how it goes.