Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds a new package PVFMM (Parallel Volume Fast Multipole Method), a Julia wrapper for the upstream library at https://github.com/dmalhotra/pvfmm. The package builds the library with MPI support using CMake, targeting Linux platforms only due to upstream requirements for GNU-style OpenMP and __float128 support.
Changes:
- Adds build script for PVFMM library with MPI, FFTW, and OpenBLAS dependencies
- Configures the build to use multiple MPI implementations (MPICH, OpenMPI, MPItrampoline, MicrosoftMPI)
- Includes SCTL submodule as a separate GitSource to avoid submodule initialization issues
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| platforms = filter(Sys.islinux, supported_platforms()) | ||
| platforms = expand_cxxstring_abis(platforms) | ||
|
|
||
| platforms, platform_dependencies = MPI.augment_platforms(platforms; MPItrampoline_compat="5.5") |
There was a problem hiding this comment.
The MPItrampoline_compat value is specified as "5.5" which is incomplete compared to the default value "5.5.3" in platforms/mpi.jl line 51. Other packages in the repository use more complete version specifications (e.g., "5.2.1" in PARMETIS and PTSCOTCH). Consider using a complete version specification like "5.5.3" or a range specification for clarity and consistency with the codebase conventions.
| platforms, platform_dependencies = MPI.augment_platforms(platforms; MPItrampoline_compat="5.5") | |
| platforms, platform_dependencies = MPI.augment_platforms(platforms; MPItrampoline_compat="5.5.3") |
There was a problem hiding this comment.
compat declarations for MPI are not necessary in almost all cases. If you see a build error then you could add such a compat bound, together with a comment why it is necessary. But otherwise, the default compat bounds set in mpi.jl are good and sufficient.
| version = v"1.3.0" | ||
|
|
||
| # Collection of sources required to complete build | ||
| sources = [ | ||
| # develop branch head on 2026-02-17 | ||
| GitSource("https://github.com/dmalhotra/pvfmm.git", "77c87ef9796d358bc5dd703b5c16ee0f92bd1b59"), |
There was a problem hiding this comment.
There is a discrepancy here that should be explained in a comment
There was a problem hiding this comment.
The version v"1.3.0" was released in 2021; we've just added the necessary Julia wrapper in the current develop branch.
There was a problem hiding this comment.
Can you add the comment in the build_tarballs?
This package is to add PVFMM https://github.com/dmalhotra/pvfmm a Julia wrapper