Chapel 1.32
chapel-lang.org
chapel-lang.org
https://benchmarksgame-team.pages.debian.net/benchmarksgame/...
Chapel: Programming Language for Parallel Computing - https://news.ycombinator.com/item?id=36158373 - June 2023 (2 comments)
AoC 2022 in the Chapel language blog - https://news.ycombinator.com/item?id=34274056 - Jan 2023 (1 comment)
A Look at Chapel, D, and Julia Using Kernel Matrix Calculations - https://news.ycombinator.com/item?id=23403748 - June 2020 (2 comments)
The Chapel Parallel Programming Language - https://news.ycombinator.com/item?id=22708041 - March 2020 (60 comments)
Show HN: Parallac.js – A JavaScript clone of Chapel for distributed computing - https://news.ycombinator.com/item?id=13072797 - Nov 2016 (4 comments)
Chapel: a parallel programming language designed for productivity at scale - https://news.ycombinator.com/item?id=11747709 - May 2016 (19 comments)
New language built from the ground up for productive parallel programming - https://news.ycombinator.com/item?id=11257792 - March 2016 (2 comments)
Learn Chapel in Y minutes - https://news.ycombinator.com/item?id=10029449 - Aug 2015 (13 comments)
Why we need Chapel for large-scale parallel computing - https://news.ycombinator.com/item?id=7972971 - July 2014 (1 comment)
The Chapel Parallel Programming Language - https://news.ycombinator.com/item?id=7951706 - June 2014 (10 comments)
The Chapel Parallel Programming Language - https://news.ycombinator.com/item?id=5047197 - Jan 2013 (2 comments)
https://web.archive.org/web/20231009141106/https://chapel-la...
I wonder if it would be possible to easily set it up on our university's HPC cluster (which is not a supercomputer, but still has SLURM and everything there).
Regent does also support loop auto-parallelization, though it's not the focus of the language and not generally how people write idiomatic Regent programs. Regent fundamentally is a task-based programming model. "Task" is a fancy word for a function that can run in parallel. The key is that (a) tasks execute with sequential semantics, and (b) inside of a task, you can do basically whatever you want. The compiler doesn't need to analyze the code aside from verifying that you're passing data around correctly. This means the set of programs you can write in the "nice" subset of the language is much, much larger. The vast majority of Regent programmers never encounter any explicitly parallel programming constructs, there is no way to make code that deadlocks or races, etc. On the other hand, organizing programs in terms of tasks does still take effort and a degree of cognitive shift. You still have to divide the program into parts that can be parallelized, even if you're not responsible for parallelizing them.
If by "industry" you mean in areas related to HPC, then Regent is likely to be applicable to what you want. The further you get away from HPC, the less likely that would be. You probably wouldn't use Regent to write a web server, though it's not impossible....
Right now my biggest item is making sure we support all the DOE supercomputers, which means adding support for Intel GPUs. (Regent currently supports NVIDIA and AMD.)
[1]: https://theory.stanford.edu/~aiken/LegionRetreat22/slides/ch...
https://legion.stanford.edu/pdfs/pygion2019.pdf
And code samples:
https://github.com/StanfordLegion/legion/tree/stable/binding...
We definitely don't have an excess of supply in the "HLLs for vendor neutral GPU programming" dept, especially if you have a healthy reaction to C++. Chapel and Futhark, what else?
I’d love to see all these communities come together to share ideas with each other even more.