Chapel has joined HPSF 🚀👏 Chapel is an open source language for scalable parallel computing, enabling efficient computation across desktops, clusters, & supercomputers. Through HPSF, Chapel will continue to grow as a community-governed project. Learn more: hpsf.io/blog/2025/hp...
Posts by
Chapel 2.5 adds a fast new distributed sort implementation to the standard library! It out-scales other distributed Chapel sorts. To use it, pass a Block-distributed array to the standard sort() procedure.
See the Chapel 2.5 release notes for more information:
chapel-lang.org/blog/posts/a...
Can one programming language be used to program multicore processors, GPU-packed supercomputers, and everything in between? Chapel can! Engin Kayraklioglu will give a public talk about Chapel's portability at Los Alamos National Laboratory on June 18th, 10AM PT!
teams.microsoft.com/l/meetup-joi...
I made the new scalable sort routine for the Chapel standard library! Now it's possible to easily sort a distributed array just by calling the standard library 'sort'. Outperforms the best distributed Chapel sort to date, and it performs competitively with the KaDiS AMS sort written in MPI.
#HPC
Rust has stronger safety than Chapel overall. That is covered in the initial + - table.
Re use-after-free and unsafe blocks, I’ve heard of parallel programmers using ‘unsafe’ everywhere. Maybe they are doing it wrong. Even so, one should not assume that Rust completely removes the issue.
I’m the author of the article.
Of course C++ and Rust have very different safety properties. These icons are summary information & the article defines what each means. Rust programmers still deal with unsafe code (possibly in libraries) and still need to be aware of use-after-free being an issue.
I made a #blog post comparing memory safety across programming languages, with examples! It covers C, C++, Rust, Python, and Chapel. And it discusses memory safety in the context of distributed-memory programming with MPI, Chapel, or OpenSHMEM for #HPC.
chapel-lang.org/blog/posts/m...
I’m going to be co-hosting this birds of a feather session at JuliaCon!
A screenshot of the "Announcing Chapel 2.4" blog post linked in this post.
Chapel 2.4 is now available! This release brings powerful new features, including multi-dimensional array literals, [significantly improved] Python interoperability, and CMake support. Learn more in its release announcement:
chapel-lang.org/blog/posts/a...
#HPC #OpenSource
#HPC does it radix sort? I’ve been exploring the productivity and performance of a few distributed memory parallel programming frameworks, check it out at github.com/mppf/distrib... .
How does Chapel stack up against MPI and OpenSHMEM for distributed memory parallel programming? Check out this repo to see implementations and performance measurements of a Least-Significant Digit First Radix Sort in these frameworks.
github.com/mppf/distrib...
#ChapelLang #MPI #OpenSHMEM
This is about to begin! Recording will be available later.
What is the fastest and easiest to write parallel, distributed radix sort? @mppf.bsky.social has implemented it Chapel, MPI, and OpenSHMEM, github.com/mppf/distrib.... Do you know of other versions or ideas for improving the existing ones? #HPC @chapellanguage.bsky.social @sunitachandra.bsky.social
Tagging @hpsf.bsky.social - we are excited to work together!
A graph titled "CLBG Summary, Dec 27, 2024", with "Execution Time" on the y-axis and "Compressed Code Size" on the x-axis. Various languages are plotted on this graph.
A graph titled "CLBG Summary, Dec 27, 2024", with "Execution Time" on the y-axis and "Compressed Code Size" on the x-axis. Various languages are plotted on this graph.
The Computer Language Benchmarks Game now has results for Chapel 2.3! These charts show Chapel delivering an attractive mix of performance and clear, concise code when compared to languages like Python, Rust, C and Julia. #HPC
Browse the CLBG at: benchmarksgame-team.pages.debian.net/benchmarksga...
I’m very excited about the new Chapel Programming Language website. It’s the little things, right? Have a look if you have not already & I hope you like it.
In this talk, speakers will introduce Chapel as a general-purpose, scalable parallel programming language; and demonstrate how it can help with CFD workflows through CHAMPS.
CHAMPS’ core is aimed at aerospace application, solving the URANS equations (time and spectral) with several turbulence models with transition and roughness for aero-icing and aeroelastic models, all available within CHAMPS.
Apps written in Chapel span various domains, including data analytics, biodiversity detection, hydrology, cosmology. One example, the largest application developed using Chapel, is the CFD solver CHAMPS (Chapel Multi-Physics Software) in the laboratory of Prof. Laurendeau at Polytechnique Montreal.
Though Chapel code tends to be concise and readable, the resulting performance can compete with or beat standard high-performance computing (HPC) approaches, such as Fortran/C/C++, OpenMP, MPI, and/or CUDA.
Chapel promotes scalable parallelism, permitting code to be developed using a laptop’s multi-core processor, and then recompiled to run across the nodes and cores of a commodity cluster, cloud instance, or massive-scale supercomputer.
Abstract (in many small posts):
Chapel is a general-purpose programming language that makes parallel programming far more productive than conventional approaches.
Anyone can join!
I’m looking forward to this talk today at NASA discussing Chapel and CFD for aerodynamic simulations. #HPC
If you haven’t see the 7 Questions series interviewing users of #ChapelLang, now is a great time to check it out!
The latest post describes how Chapel enabled the rapid development of an interactive data analysis tool that runs on #HPC hardware.
Link to series:
chapel-lang.org/blog/series/...
Learn about Chapel’s use in cybersecurity by enabling interactive data analysis at HPC scales in our latest “7 Questions for Chapel Users” interview with Bill Reus, one of the original co-developers of Arkouda.
chapel-lang.org/blog/posts/7...
If you want to do more sorts, here are some that might sound interesting:
- replacement selection, multi-way merge input against itself, longer and longer ascending sequences
- MSB radix sort (sorts the most significant bits first, you have LSB radix sort; MSB will put low notes first early)
The tricky part was some crazy regex to get the links to work through the script
IIRC it was some Perl & you’d paste the URL you wanted to see at the end of the script URL and it’d open a socket to the destination server and send along the data. I was able to do it because the computer club GEECS had a server in the school’s DMZ network which was excluded from the end-of-day.