git: a9de506dca - main - Status/2026Q3/freebsd-hpc-ports.adoc
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 20 Oct 2026 16:05:07 UTC
The branch main has been updated by salvadore:
URL: https://cgit.FreeBSD.org/doc/commit/?id=a9de506dca81913664860bffab4721aab28e8564
commit a9de506dca81913664860bffab4721aab28e8564
Author: Generic Rikka <rikka.goering@outlook.de>
AuthorDate: 2026-10-20 16:04:31 +0000
Commit: Lorenzo Salvadore <salvadore@FreeBSD.org>
CommitDate: 2026-10-20 16:04:45 +0000
Status/2026Q3/freebsd-hpc-ports.adoc
---
.../report-2026-07-2026-09/freebsd-hpc-ports.adoc | 54 ++++++++++++++++++++++
1 file changed, 54 insertions(+)
diff --git a/website/content/en/status/report-2026-07-2026-09/freebsd-hpc-ports.adoc b/website/content/en/status/report-2026-07-2026-09/freebsd-hpc-ports.adoc
new file mode 100644
index 0000000000..4c3a05b2c5
--- /dev/null
+++ b/website/content/en/status/report-2026-07-2026-09/freebsd-hpc-ports.adoc
@@ -0,0 +1,54 @@
+=== FreeBSD HPC Ports Modernization
+
+Links: +
+link:https://cgit.freebsd.org/ports/tree/sysutils/slurm-wlm/[sysutils/slurm-wlm] URL: link:https://cgit.freebsd.org/ports/tree/sysutils/slurm-wlm/[https://cgit.freebsd.org/ports/tree/sysutils/slurm-wlm/] +
+link:https://cgit.freebsd.org/ports/tree/net/ucx/[net/ucx] URL: link:https://cgit.freebsd.org/ports/tree/net/ucx/[https://cgit.freebsd.org/ports/tree/net/ucx/] +
+link:https://cgit.freebsd.org/ports/tree/net/openmpi/[net/openmpi] URL: link:https://cgit.freebsd.org/ports/tree/net/openmpi/[https://cgit.freebsd.org/ports/tree/net/openmpi/] +
+link:https://cgit.freebsd.org/ports/tree/benchmarks/py-reframe-hpc/[benchmarks/py-reframe-hpc] URL: link:https://cgit.freebsd.org/ports/tree/benchmarks/py-reframe-hpc/[https://cgit.freebsd.org/ports/tree/benchmarks/py-reframe-hpc/] +
+link:https://cgit.freebsd.org/ports/tree/sysutils/py-clustershell/[sysutils/py-clustershell] URL: link:https://cgit.freebsd.org/ports/tree/sysutils/py-clustershell/[https://cgit.freebsd.org/ports/tree/sysutils/py-clustershell/] +
+link:https://bugs.schedmd.com/show_bug.cgi?id=25911[SchedMD bug 25911: proctrack/freebsd-reaper] URL: link:https://bugs.schedmd.com/show_bug.cgi?id=25911[https://bugs.schedmd.com/show_bug.cgi?id=25911] +
+link:https://bugs.schedmd.com/show_bug.cgi?id=25912[SchedMD bug 25912: configless OS-specific Include files] URL: link:https://bugs.schedmd.com/show_bug.cgi?id=25912[https://bugs.schedmd.com/show_bug.cgi?id=25912] +
+link:https://github.com/openucx/ucx/pull/11549[openucx/ucx#11549: UCS/SYS portability fixes for non-Linux platforms] URL: link:https://github.com/openucx/ucx/pull/11549[https://github.com/openucx/ucx/pull/11549] +
+link:https://github.com/hpc/mpifileutils/pull/664[hpc/mpifileutils#664: Portability fixes for FreeBSD/non-Linux builds] URL: link:https://github.com/hpc/mpifileutils/pull/664[https://github.com/hpc/mpifileutils/pull/664]
+
+Contact: Generic Rikka <rikka.goering@outlook.de>
+
+This report continues the FreeBSD HPC Ports Modernization initiative, which aims to make FreeBSD a practical and maintainable platform for modern high-performance computing (HPC) software stacks.
+Previous quarters focused on bringing the Slurm, PMIx, PRRTE and UCX stack up to date and filling gaps in the surrounding ecosystem.
+This quarter's work centered on three things: keeping the scheduler and communication libraries current (including security fixes), deepening FreeBSD-specific runtime support in UCX and enabling the Open MPI/UCX combination, and taking the first FreeBSD-native Slurm features upstream to SchedMD.
+
+==== Work completed
+
+* Updated package:sysutils/slurm-wlm[] three times, from 26.05.1 to 26.05.2 and then to 26.05.4, tracking upstream releases.
+ The 26.05.4 update also addresses seven CVEs.
+ Thanks to the configure-time HDF5 probe merged upstream last quarter, the obsolete downstream HDF5 patches could be removed and the downstream `patch-configure` was substantially reduced.
+ The remaining FreeBSD conmgr patch was rebased and a missing `<signal.h>` include was added so the test suite builds on FreeBSD.
+* Enabled `slurmrestd` in package:sysutils/slurm-wlm[].
+ It had been disabled because it was believed not to build on FreeBSD, but with current Slurm it builds without any additional portability patches.
+ The port now ships `slurmrestd` together with the REST/OpenAPI plugins.
+* Updated package:net/ucx[] from 1.20.1 to 1.22.0.
+ Earlier in the quarter the port gained a guard around the Linux-specific netlink implementation, and `ucx_vfs` support was improved for FreeBSD by replacing `fusermount3` with `mount_fusefs`/`umount`, using FreeBSD-compatible FUSE capability detection and fixing UNIX socket ancillary data handling (`SCM_RIGHTS` and peer credentials).
+ A follow-up fix for the VFS inotify watch was contributed by Laurent Chardon.
+* Introduced a UCX option in package:net/openmpi[], allowing Open MPI to be built against package:net/ucx[] on FreeBSD (work by Laurent Chardon, based on testing and reports from this initiative).
+ This also fixed an OMPIO `sharedfp/sm` crash.
+* Updated package:benchmarks/py-reframe-hpc[] twice, from 4.10.0 to 4.10.2 and then to 4.10.3.
+* Updated package:sysutils/py-clustershell[] from 1.9.3 to 1.10.1, including fixes for unportable tests.
+* Submitted `proctrack/freebsd-reaper` to SchedMD, a new Slurm process-tracking plugin built on FreeBSD's `procctl()` process-reaper APIs.
+ The step daemon acquires reaper status, tracks descendants across process-group changes and nested reapers, and signals the tracked process tree during cleanup.
+ On a FreeBSD test node it cleaned up orphaned, SIGTERM-resistant and nested children like `proctrack/pgid`, and additionally handled `setsid`, `setpgid`, double-fork and nested-daemon escapes, which `proctrack/pgid` does not.
+ A zombie regression was retested and the node returned to IDLE without timing out or draining.
+* Submitted `%o` support for `Include` filenames in Slurm configuration to SchedMD.
+ `Include slurm-%o.conf` selects `slurm-FreeBSD.conf` on FreeBSD and `slurm-Linux.conf` on Linux, so a heterogeneous configless cluster can keep one authoritative configuration on `slurmctld`.
+ This has been running on a mixed FreeBSD/Fedora cluster using the corresponding port patches.
+
+==== Work in progress
+
+* Addressing review feedback on the open UCX (UCS/SYS portability for non-Linux platforms) and mpifileutils (Linux-only API guards) upstream pull requests, to shrink the local patchsets of the ports further.
+* Following up with SchedMD on the `proctrack/freebsd-reaper` and configless `%o` Include submissions.
+
+==== Future plans
+
+* Land the outstanding upstream pull requests and keep identifying FreeBSD portability issues to fix upstream rather than patch locally.
+* Carry the Slurm patches accepted by SchedMD into the port and drop the corresponding downstream changes.
+* Continue tracking upstream Slurm, UCX, Open MPI, PMIx and PRRTE releases closely.
+* Document a reference Slurm + Open MPI + PMIx + PRRTE + UCX deployment on FreeBSD, including a mixed FreeBSD/Linux configless setup, to lower the barrier for new sites.