Sign in

mppf.bsky.social

@mppf.bsky.social
228 followers 72 following 78 posts

My goal: make parallel programming easier for everybody. Compiler developer for the Chapel programming language for productive parallel programming ( chapel-lang.org ). Also github.com/femto-dev/femto I work at HPE. He/him. OSS.

PostsRepliesMedia
Reposted by @mppf.bsky.social
High Performance Software Foundation (HPSF) @hpsf.bsky.social · 17/11/2025
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...
071
Reposted by @mppf.bsky.social
Chapel Programming Language @chapellanguage.bsky.social · 24/06/2025
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...
021
Reposted by @mppf.bsky.social
Chapel Programming Language @chapellanguage.bsky.social · 17/06/2025
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...
031
mppf.bsky.social @mppf.bsky.social · 13/06/2025
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
031
mppf.bsky.social @mppf.bsky.social · 11/04/2025
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.
210
mppf.bsky.social @mppf.bsky.social · 11/04/2025
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.
120
mppf.bsky.social @mppf.bsky.social · 10/04/2025
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...
chapel-lang.org
Memory Safety in Chapel
A description of how Chapel’s features for memory safety strike a balance between productivity and performance, with comparisons to other languages
000
mppf.bsky.social @mppf.bsky.social · 10/04/2025
I’m going to be co-hosting this birds of a feather session at JuliaCon!
010
Reposted by @mppf.bsky.social
Chapel Programming Language @chapellanguage.bsky.social · 20/03/2025
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
A screenshot of the "Announcing Chapel 2.4" blog post linked in this post.
052
mppf.bsky.social @mppf.bsky.social · 14/03/2025
#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... .
github.com
GitHub - mppf/distributed-lsb: Comparing Distributed Programming Frameworks with LSD Radix Sort
Comparing Distributed Programming Frameworks with LSD Radix Sort - mppf/distributed-lsb
020
Reposted by @mppf.bsky.social
Chapel Programming Language @chapellanguage.bsky.social · 13/03/2025
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
github.com
GitHub - mppf/distributed-lsb: Comparing Distributed Programming Frameworks with LSD Radix Sort
Comparing Distributed Programming Frameworks with LSD Radix Sort - mppf/distributed-lsb
011
mppf.bsky.social @mppf.bsky.social · 12/03/2025
This is about to begin! Recording will be available later.
001
Reposted by @mppf.bsky.social
Michelle Mills Strout @michelle-strout.bsky.social · 28/02/2025
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
github.com
GitHub - mppf/distributed-lsb: Comparing Distributed Programming Frameworks with LSD Radix Sort
Comparing Distributed Programming Frameworks with LSD Radix Sort - mppf/distributed-lsb
051
mppf.bsky.social @mppf.bsky.social · 27/02/2025
Tagging @hpsf.bsky.social - we are excited to work together!
010
Reposted by @mppf.bsky.social
Chapel Programming Language @chapellanguage.bsky.social · 24/02/2025
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...
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.
121
mppf.bsky.social @mppf.bsky.social · 24/02/2025
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.
020
mppf.bsky.social @mppf.bsky.social · 20/02/2025
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.
000
mppf.bsky.social @mppf.bsky.social · 20/02/2025
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.
100
mppf.bsky.social @mppf.bsky.social · 20/02/2025
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.
110
mppf.bsky.social @mppf.bsky.social · 20/02/2025
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.
100
mppf.bsky.social @mppf.bsky.social · 20/02/2025
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.
100
mppf.bsky.social @mppf.bsky.social · 20/02/2025
Abstract (in many small posts):
 Chapel is a general-purpose programming language that makes parallel programming far more productive than conventional approaches.
100
mppf.bsky.social @mppf.bsky.social · 20/02/2025
Anyone can join!
100
mppf.bsky.social @mppf.bsky.social · 20/02/2025
Here is the link: www.nas.nasa.gov/pubs/ams/202...
nas.nasa.gov
High-Performance, Productive Programming using Chapel with Examples from the CFD Solver CHAMPS
Presentation abstract, video, and materials part of the AMS seminar series hosted by NAS's Computational Aerosciences Branch.
100
mppf.bsky.social @mppf.bsky.social · 20/02/2025
I’m looking forward to this talk today at NASA discussing Chapel and CFD for aerodynamic simulations. #HPC
140
mppf.bsky.social @mppf.bsky.social · 14/02/2025
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/...
chapel-lang.org
7 Questions for Chapel Users
This series interviews users of Chapel about their experiences with the language.
041
Reposted by @mppf.bsky.social
Chapel Programming Language @chapellanguage.bsky.social · 13/02/2025
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...
chapel-lang.org
7 Questions for Bill Reus: Interactive Supercomputing with Chapel for Cybersecurity
An interview with Bill Reus about the creation of Arkouda, a Python library supporting interactive data analysis on HPC systems
021
mppf.bsky.social @mppf.bsky.social · 12/02/2025
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)
010
mppf.bsky.social @mppf.bsky.social · 12/02/2025
The tricky part was some crazy regex to get the links to work through the script
010
mppf.bsky.social @mppf.bsky.social · 12/02/2025
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.
110
mppf.bsky.social @mppf.bsky.social · 11/02/2025
Did you have “end of day” internet shut-off? Maybe they decided that was useless once everybody got cell phones. Anyway I figured out a very basic CGI website proxy so I could access websites after bedtime at 10. It was fun to make but I basically never used it b/c I am a morning person 🤔
120
mppf.bsky.social @mppf.bsky.social · 11/02/2025
I ❤️ radix sort
010
mppf.bsky.social @mppf.bsky.social · 11/02/2025
Thanks for sharing this story! I was actually a SWIS administrator a few years before you (I’m class of ‘99). I made all the backgrounds for the different “rooms”! Hopefully somebody changed those though… It must have been sometime around when you were there that they switched off of SWIS.
140
mppf.bsky.social @mppf.bsky.social · 08/02/2025
Did you use a discrete event simulation framework or build it all yourself? I am curious as I have been investigating discrete event simulation tools recently.
100
mppf.bsky.social @mppf.bsky.social · 08/02/2025
Is it more like some formulas in excel or a discrete event simulation (eg something like SST)?
100
mppf.bsky.social @mppf.bsky.social · 03/02/2025
Thanks for writing this! I’m always very interested in your perspecive on the similarities and differences between LLM training / AI HPC and the more traditional HPC.
010
mppf.bsky.social @mppf.bsky.social · 11/01/2025
In your view, can it programs be simple and readable and parallel? Earlier in this thread you mentioned several languages that enable simple, readable, and fast programs, but that people can take it too far (presumably, sacrificing readability for performance). That’s the “too far” I mean.
100
mppf.bsky.social @mppf.bsky.social · 11/01/2025
I am curious how far that goes! In my quote post, I’m asking if absurd performance via parallel programs is too far, in your opinion. Would love to hear from you in that thread.
100
mppf.bsky.social @mppf.bsky.social · 11/01/2025
It certainly helped that Chapel’s standard library sort is really fast. I wrote a blog post comparing standard library sorts in chapel-lang.org/blog/posts/s... . A parallel standard library helps make performance easy to achieve, but for many languages it isn’t possible or isn’t a goal. (4/4)
chapel-lang.org
Comparing Standard Library Sorts: The Impact of Parallelism
This blog post compares the performance of standard library sort routines in several programming languages.
010
mppf.bsky.social @mppf.bsky.social · 11/01/2025
Recently, I rewrote a suffix array construction code I had written in C++ and OpenMP years ago. The OpenMP version only parallelized the slowest parts. Using Chapel, I made every part parallel, because it was easy. The result was 8x faster in about 1/4 the code. (3/4)
120
mppf.bsky.social @mppf.bsky.social · 11/01/2025
I work on the Chapel programming language where we are making parallel programs easier to express. I think we have achieved a good balance of performance and productivity. chapel-lang.org (2/4)
chapel-lang.org
The Chapel Programming Language
110
mppf.bsky.social @mppf.bsky.social · 11/01/2025
How far does the desire for absurd performance go? I would say, fully absurd performance is only achievable if the program is parallel. Parallel code certainly has additional concerns. Do those represent too much of a cost? 🧵 (1/4)
110
mppf.bsky.social @mppf.bsky.social · 10/01/2025
You’re not the only one! Maybe you will like this shirt they gave employees
A black t-shirt that says The Department of Energy is going CRAY CRAY CRAY CRAY
141
Reposted by @mppf.bsky.social
Brad Chamberlain @bradcray.bsky.social · 07/01/2025
A number of us on the Chapel project have been enjoying our interactions on BlueSky these past few months, so we have kicked off a new @chapellanguage.bsky.social account to reflect that. Follow the project there, and thanks to all who make BlueSky a great forum for #HPC conversations!
A snapshot of the Chapel Programming Language BlueSky account page.
0124
mppf.bsky.social @mppf.bsky.social · 10/01/2025
I recently learned that Dask has some UCX support. Anybody have experience with this? Would love to hear about it!
000
mppf.bsky.social @mppf.bsky.social · 23/12/2024
A mind is a terrible thing to baste
010
mppf.bsky.social @mppf.bsky.social · 23/12/2024
:)
010
mppf.bsky.social @mppf.bsky.social · 23/12/2024
There once was a dev from Au Clair who wanted her code to be fair. Each variable name was a bit of a game But each line ran beyond eighty chars. My programmer friend from Spokane Thought naming a bit of a pain One character each seemed well within reach But when reading it just wasn’t plain.
2110
mppf.bsky.social @mppf.bsky.social · 21/12/2024
They’re not the same icon; one says “turn left” And the other “turn right”. Maybe there is a discord robot somewhere and we can each vote on which direction it goes.
000