Closed tkphd closed 3 years ago
Ouch, that hurts, especially that from all the topics listed, Chapel has the most to do with HPC, and containers the least. I am biased however, having developed the HPC Chapel lessons, and we use them regularly for teaching shared- and distributed-memory parallel programming.
oooo... sorry @razoumov! I was not aware that you regularly use the HPC Chapel lesson. Are you able to attend a Coordination or Coworking meeting in the next month or two to share your experiences & goals for the material? It's possible that our community simply does not know where Chapel fits in.
@tkphd Yes, I'll be happy to attend a Coordination or Coworking meeting either before or after my vacation (Dec-13 to Jan-11) -- please ping me when you schedule a meeting. In short, in our HPC consortium over the past 5 years, we have largely switched from teaching MPI and OpenMP to teaching an Intro to HPC that includes maybe 10 mins on each -- MPI, OpenMP, Chapel, Julia, Dask -- to tell students few words about each of these frameworks, followed by full-day parallel Chapel and full-day parallel Julia workshops. We advise participants to attend either one or the other, but some attend both Chapel and Julia versions.
In the full-day workshops the goal is to expose participants to the principles and challenges of parallel programming, whether it is multi-threading or multi-processing, data and task parallelism, shared- and distributed-memory models, communication bottlenecks, parallel scaling and benchmarking, race conditions, deadlocks, atomic/sync variables and other mechanisms to synchronize tasks. It is much, much easier to teach all of these concepts in one day in Chapel than in MPI + OpenMP.
We recently started using Julia for all of this too, it has a lot of potential but also lots of quirks, typically requiring more initial knowledge than Chapel.
It is another question how many participants will actually write parallel code for their research. In reality, only a tiny fraction of our HPC users develop parallel codes, but I think it is important to expose them to these ideas, and to give practical knowledge to those few who decide to develop large simulation codes.
Hi @razoumov, we're having a Coworking Hour later today; are you able to join at 2200 UTC to discuss Chapel? (see #88 for details)
@tkphd Hi Tervor - yes, I'll be there in 2 hours. Thanks for pinging me!
Following today's conversation, Chapel is very much Still Alive, and we'll work on updating it from @razoumov's materials rather than archiving.
At the SC21 BOF, interest in topics was (src):
Based on this feedback, I propose archiving the hpc-chapel repository. This is mostly symbolic, as no significant attention has been paid to those lessons recently, but it is better to clearly signal that we are not going to devote any time to it (by archiving it) than it is to imply intent without actually having any (by leaving it open, but untouched).