I really like Legion as an alternative for HPC applications, among many others ( https://legion.stanford.edu/ )
Chapel 1.32
11–20 of 32 posts
Re: Chapel 1.32
#12The only viable replacement for Fortran we currently have. The rest are not getting it.
Re: Chapel 1.32
#13Re: Chapel 1.32
#14I really like Legion as an alternative for HPC applications, among many others ( https://legion.stanford.edu/ )
Legion is great! I like that its developers really get HPC. But it is C++, with all of its baggage. (Update: There is also Regent language on top of C++ API, looks interesting).
Re: Chapel 1.32
#15Earlier quoted context omitted.
What are C/C++/Zig/etc. missing that Chapel has?
Working in heterogeneous computing environments (and having first-class facilities for that), while still being easy enough to immediately start adapting numerical code from any reference implementation.
Re: Chapel 1.32
#16Earlier quoted context omitted.
Legion is great! I like that its developers really get HPC. But it is C++, with all of its baggage. (Update: There is also Regent language on top of C++ API, looks interesting).
Hey, I'm the creator of Regent. Feel free to ask me questions.
Re: Chapel 1.32
#17Earlier quoted context omitted.
Hey, I'm the creator of Regent. Feel free to ask me questions.
How would you characterize/contrast Regent vs. Chapel? What do you see are the main drawbacks/benefits of each?
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.
Re: Chapel 1.32
#18Chapel: 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)
Re: Chapel 1.32
#19Earlier quoted context omitted.
Legion is great! I like that its developers really get HPC. But it is C++, with all of its baggage. (Update: There is also Regent language on top of C++ API, looks interesting).
Hey, I'm the creator of Regent. Feel free to ask me questions.
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).
Re: Chapel 1.32
#20Earlier quoted context omitted.
How would you characterize/contrast Regent vs. Chapel? What do you see are the main drawbacks/benefits of each?
Chapel's killer feature, in my opinion, is being able to take something that looks like a simple loop and turn it into distributed code (via domain maps). To the extent that you can write your program in terms of that feature, you can get very clean programs. But once you step outside of that feature, you've basically back to full-on parallel programming (i.e., explicit PGAS programming with nearly every parallel pro…