's Avatar

@mppf.bsky.social

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

219 Followers  |  72 Following  |  78 Posts  |  Joined: 05.05.2024  |  2.2627

Latest posts by mppf.bsky.social on Bluesky

Post image

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...

17.11.2025 14:18 β€” πŸ‘ 7    πŸ” 1    πŸ’¬ 0    πŸ“Œ 1
Post image

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...

24.06.2025 17:32 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Post image

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...

17.06.2025 18:43 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 0    πŸ“Œ 1

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

13.06.2025 13:14 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

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.

11.04.2025 17:50 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

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.

11.04.2025 13:15 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
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

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...

10.04.2025 21:29 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I’m going to be co-hosting this birds of a feather session at JuliaCon!

10.04.2025 21:28 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
A screenshot of the "Announcing Chapel 2.4" blog post linked in this post.

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

20.03.2025 23:21 β€” πŸ‘ 5    πŸ” 2    πŸ’¬ 0    πŸ“Œ 1
Preview
GitHub - mppf/distributed-lsb: Comparing Distributed Programming Frameworks with LSD Radix Sort Comparing Distributed Programming Frameworks with LSD Radix Sort - mppf/distributed-lsb

#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... .

14.03.2025 17:31 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
GitHub - mppf/distributed-lsb: Comparing Distributed Programming Frameworks with LSD Radix Sort Comparing Distributed Programming Frameworks with LSD Radix Sort - mppf/distributed-lsb

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

13.03.2025 18:57 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 0    πŸ“Œ 1

This is about to begin! Recording will be available later.

12.03.2025 15:59 β€” πŸ‘ 0    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
GitHub - mppf/distributed-lsb: Comparing Distributed Programming Frameworks with LSD Radix Sort Comparing Distributed Programming Frameworks with LSD Radix Sort - mppf/distributed-lsb

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

28.02.2025 20:24 β€” πŸ‘ 5    πŸ” 1    πŸ’¬ 0    πŸ“Œ 1

Tagging @hpsf.bsky.social - we are excited to work together!

27.02.2025 19:59 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
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.

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...

24.02.2025 17:50 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 1    πŸ“Œ 1

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.

24.02.2025 17:06 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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.

20.02.2025 13:35 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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.

20.02.2025 13:35 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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.

20.02.2025 13:35 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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.

20.02.2025 13:34 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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.

20.02.2025 13:34 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Abstract (in many small posts):

Chapel is a general-purpose programming language that makes parallel programming far more productive than conventional approaches.

20.02.2025 13:34 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Anyone can join!

20.02.2025 13:32 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
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.

Here is the link: www.nas.nasa.gov/pubs/ams/202...

20.02.2025 13:27 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I’m looking forward to this talk today at NASA discussing Chapel and CFD for aerodynamic simulations. #HPC

20.02.2025 13:26 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 1

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/...

14.02.2025 15:35 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
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

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...

13.02.2025 19:43 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 0    πŸ“Œ 2

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)

12.02.2025 13:18 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

The tricky part was some crazy regex to get the links to work through the script

12.02.2025 02:14 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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.

12.02.2025 01:49 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

@mppf is following 20 prominent accounts