FreeBSD Status Report

Report Entry

FreeBSD HPC Ports Modernization: Slurm 26.05, UCX 1.20 Upstreaming, and MPI-Parallel File Utilities

Contact: Generic Rikka <rikka.goering@outlook.de>

This report continues the FreeBSD HPC Ports Modernization initiative. Previous quarters focused on bringing the Slurm + PMIx + PRRTE + UCX stack up to date and filling gaps in the surrounding ecosystem. This quarter’s work centered on three things: keeping the core scheduler and communication libraries current against fast-moving upstream releases, upstreaming the FreeBSD portability fixes accumulated while maintaining these ports so the local patchsets keep shrinking, and adding a new port for MPI-parallel file utilities that are common on large HPC filesystems.

Work completed

  • Updated sysutils/slurm-wlm twice this quarter, from 25.11.4 to 25.11.5 and then from 25.11.5 to 26.05.1, tracking the latest upstream releases.

  • Fixed several FreeBSD-specific runtime issues in net/ucx: hardened async thread state handling, corrected UCM relocation handling, fixed mm signal socket binding, and resolved other FreeBSD runtime portability issues.

  • Updated net/ucx from 1.20.0 to 1.20.1, and separately fixed a libucm early-init panic together with several gtest suite failures uncovered while validating the update.

  • Added sysutils/mpifileutils as a new port, along with its dependency stack: devel/libcircle, devel/lwgrp, and devel/dtcmp. These provide MPI-parallel file utilities (copy, remove, checksum, etc.) commonly used on large HPC filesystems.

  • Updated benchmarks/py-reframe-hpc twice this quarter to track upstream releases of the regression testing framework.

  • Upstreamed "UCS/TYPE: Portability fixes for non-glibc/Clang environments" to UCX, which was reviewed and merged.

  • Opened "UCS/SYS: portability fixes for non-Linux platforms" against UCX, covering hostname buffer sizing, MAC address retrieval via getifaddrs()/AF_LINK, shared-memory error reporting, mmap/munmap-based reallocation, and cpuset_getaffinity()-based thread affinity queries; currently addressing review feedback.

  • Opened a portability PR against mpifileutils guarding Linux-only APIs for FreeBSD and other non-Linux builds; currently in review.

  • Collaborated with SchedMD on a Slurm configure-time probe for H5PTopen, used to detect the HDF5 high-level library, which was merged upstream.

Work in progress

  • Addressing reviewer feedback on the open UCX and mpifileutils portability pull requests to get them merged upstream and reduce the FreeBSD ports' local patchsets further.

  • Continuing collaboration with SchedMD to upstream additional portability fixes discovered while maintaining sysutils/slurm-wlm on FreeBSD, including BSD socket-handling improvements.

  • Evaluating a proctrack/freebsd_reaper Slurm plugin design, made possible by recently landed FreeBSD kernel support for exposing reaper metadata in process information.

  • Continuing to track upstream Slurm, UCX, and PMIx/PRRTE releases closely to keep the FreeBSD ports current with minimal local patching.

Future plans

  • Land the outstanding UCX and mpifileutils upstream pull requests, and continue identifying further portability issues to upstream rather than patch locally.

  • Prototype and submit the Slurm proctrack/freebsd_reaper plugin once the underlying kernel interface work is finalized.

  • Continue expanding the HPC software ecosystem available in the FreeBSD Ports Collection and reduce local patchsets across the stack wherever upstream acceptance is possible.

  • Document a reference Slurm + OpenMPI + PMIx + PRRTE + UCX deployment on FreeBSD to lower the barrier for new sites experimenting with FreeBSD in an HPC context.


Last modified on: July 25, 2026 by Lorenzo Salvadore