Open MPI is a project combining technologies and resources from several
other projects (FT-MPI, LA-MPI, LAM/MPI, and PACX-MPI) in order to
build the best MPI library available. A completely new MPI-3.1 compliant
implementation, Open MPI offers advantages for system and software
vendors, application developers and computer science researchers.
Open MPI is based on an open component architecture allowing modular
replacement of many system components without recompilation.
On 32 bits platforms, please see the legacy version net/openmpi4.
See also <https://github.com/open-mpi/ompi>.
===> The following configuration options are available for openmpi-5.0.11:
AVX=off: Enable AVX instructions
DEBUG=off: Build with debugging support
DOCS=on: Build and/or install documentation
IPV6=on: IPv6 protocol support
ROMIO=on: Enable romio mpi-io support
SLURM=on: Enable SLURM support
UCX=off: Enable UCX support
===> Use 'make config' to modify these settings
all: drop support for FreeBSD 13, mips and risc64sf
Reviewed by: many (*)
Differential Revision: https://reviews.freebsd.org/D55624
Differential Revision: https://reviews.freebsd.org/D55642 (merged in from bofh)
many (*)
acm arrowd brooks cmt dch decke dinoex eduardo fluffy fuz gahr garga
jbeich joerg jrm kai kenrap martymac matthew mfechner michaelo mizhka
nobutaka pkubaj se tagattie thj
Anton Saietskii
GenericRikka
Gert Doering
Jan Bramkamp
Oleh Hushchenkov
Oleksandr Kryvulia
Ralf van der Enden
Yamagi
desktop kde python tcltk office
net/openmpi: revert previous commit
The sysutils/slurm-wlm dependency has been removed purposely, because
OpenMPI does not require Slurm to be present at build time in order to
enable Slurm support. The Slurm integration in Open MPI is handled
through the PMIx interface, not via direct linkage to Slurm itself.
For reference, see the Open MPI documentation on PMIx:
https://docs.open-mpi.org/en/v5.0.0/launching-apps/pmix-and-prrte.html#pmix
"PMIx presents a unified API that hides many of the complexities of
communication with these back-end run-time environments. Open MPI uses
the PMIx API to discover, communicate, and coordinate with any supported
back-end run-time system without needing to know the intimate details of
that system."
net/openmpi: Fix 16 byte atomic operations on amd64
Clang does not support 16 byte atomic operations without -mcx16 on amd64
Upstream issue: https://github.com/open-mpi/ompi/issues/13134
PR: 285341
MFH: 2025Q1
net/openmpi: Fix shortfloat support
- Improve the test for half precision support. The old test gave
incorrect results, in particular for older compilers.
The test is now compiler independent since both gcc and clang
have supported __Float16 for a long while.
- Remove unused code for plist substitution of NO_MCA_PATCHER_OVERWRITE
PR: 280879
net/openmpi: upgrade to v5.0.2
Also fix with Python-3.1x (patch by fluffy@).
Changelog at
<https://docs.open-mpi.org/en/v5.0.x/release-notes/changelog/v5.0.x.html#open-mpi-version-v5-0-2>
net/openmpi: upgrade to v5.0.1
Release notes available at
<https://www-lb.open-mpi.org/software/ompi/major-changes.php>.
Notes:
- The MPI C++ bindings were deprecated in the MPI-2.2 standard in 2009, and
removed from the MPI-3.0 standard in 2012. The MPI C++ bindings were then
removed from Open MPI v5.0.0 in 2022;
- ofi (libfabric) was explicitly disabled in this port - I don’t know why
but kept it this way;
- ROMIO has been disabled (See <https://github.com/open-mpi/ompi/issues/9715>);
- 32 bits platforms are not supported: this port has been repocopied to
net/openmpi4 for them.
net/openmpi: Remove dependency
There is a non-default option TORQUE which has dependency on sysutils/torque
which is to be expired. So remove the non-default option.
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
net/openmpi: unbreak the build when `net/libfabric' port is installed
Ideally, OFI option should be introduced, I've tried that first but it
does not build due to missing ENODATA definition.
Remove BROKEN_sparc64, it does not serve any useful purpose these days,
and we're not producing packages for this architecture anyways.
Fix build on !x86 systems by ensuring option AVX cannot be set:
pkg-static: Unable to access file
/wrkdirs/usr/ports/net/openmpi/work/stage/usr/local/%%AVX%%mpi/openmpi/lib/openmpi/mca_op_avx.la:No
such file or directory
pkg-static: Unable to access file
/wrkdirs/usr/ports/net/openmpi/work/stage/usr/local/%%AVX%%mpi/openmpi/lib/openmpi/mca_op_avx.so:No
such file or directory
While here, sort the _DESC entries, and gather the OPTIONS_DEFAULT,
OPTIONS_EXCLUDE_*, and OPTIONS_SUB entries together.
Approved by: portmgr (tier-2 blanket)
net/openmpi: Add an option to enable AVX support
OpenMPI 4.1 fails to detect if the host supports AVX instructions and will fail
to build if it doesn't [1].
Also, include the ABI version to the hwloc2 library dependency. If the user has
devel/hwloc (and not devel/hwloc2) installed it will satify the dependency check
anyway and link against the wrong lib.
[1] - https://github.com/open-mpi/ompi/issues/8306
PR: 252506
net/openmpi and net/openmpi3: Fix build with GCC 10 and remove deprecated
option.
Some gfortran defaults were changed in GCC 10:
https://gcc.gnu.org/gcc-10/changes.html
The conditional is required because the parameter -fallow-argument-mismatch will
break the current default gfortran.
Reported by: linimon
- Update net/openmpi to 4.0.3 (openmpi 1 is deprecated)
- Remove option for net/openmpi2 from science/pnetcdf (net/openmpi2 is
deprecated and will be removed)
- Fix science/gromacs plist when MPI option is enabled
- Bump PORTREVISION for all the consumers of net/openmpi
Bump PORTREVISION for ports depending on the canonical version of GCC
as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3
to GCC 9.1 under most circumstances now after revision 507371.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, everything INDEX-11 shows with a dependency on lang/gcc9 now.
PR: 238330
net/openmpi: add USES=compiler:c11
This port needs USES=compiler:c11 to fix build of science/sparta on GCC
architectures.
PR: 237536
Approved by: danilo (maintainer timeout), mentors (implicit approval)
Related to revision 499061 bump ports with USES=fortran to have them
benefit from the improved situation where libgcc_s is only used when
absolutely necessary.
Suggested by: tijl
Bump PORTREVISION for ports depending on the canonical version of GCC
defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t
GCC 8.2 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang,
c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib
plus, as a double check, everything INDEX-11 showed depending on lang/gcc7.
PR: 231590
Bump PORTREVISION for ports depending on the canonical version of GCC
in the ports tree (via Mk/bsd.default-versions.mk and lang/gcc) which
has now moved from GCC 6 to GCC 7 by default.
This includes ports
- featuring USE_GCC=yes or USE_GCC=any,
- featuring USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and those
- with USES=compiler specifying one of openmp, nestedfct, c11, c++0x,
c++11-lib, c++11-lang, c++14-lang, c++17-lang, or gcc-c++11-lib.
PR: 222542
Bump PORTREVISION for ports depending on the canonical version of GCC
(via Mk/bsd.default-versions.mk and lang/gcc) which has moved from
GCC 5.4 to GCC 6.4 under most circumstances.
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using Mk/bsd.octave.mk which in turn features USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++11-lang,
c++14-lang, c++0x, c11, or gcc-c++11-lib.
PR: 219275
- Update to 1.10.7
- Use external libevent
- Force the wrapper to use rpath pointing to the correct GCC directory.
This solves a problem (bug 217750) when a non-default GCC version is used.
PR: 217750
Bump PORTREVISIONs for ports depending on the canonical version of GCC and
lang/gcc which have moved from GCC 4.9.4 to GCC 5.4 (at least under some
circumstances such as versions of FreeBSD or platforms).
This includes ports
- with USE_GCC=yes or USE_GCC=any,
- with USES=fortran,
- using using Mk/bsd.octave.mk which in turn has USES=fortran, and
- with USES=compiler specifying openmp, nestedfct, c++11-lib, c++14-lang,
c++11-lang, c++0x, c11, or gcc-c++11-lib.
PR: 216707
Bump PORTREVISIONS for ports depending on the canonical version of GCC and
lang/gcc which have moved from GCC 4.8.5 to GCC 4.9.4 (at least under some
circumstances such as versions of FreeBSD or platforms), part II.
The first part covered ports with USE_GCC=yes, USE_GCC=any, or one of
gcc-c++11-lib, openmp, nestedfct, c++11-lib as well as c++14-lang,
c++11-lang, c++0x, c11 requested via USES=compiler.
This adds ports with USES=fortran and ports using Mk/bsd.octave.mk
which in turn has USES=fortran.
PR: 214965
Reported by: thierry
Remove UNIQUENAME and LATEST_LINK.
UNIQUENAME was never unique, it was only used by USE_LDCONFIG and now,
we won't have conflicts there.
Use PKGBASE instead of LATEST_LINK in PKGLATESTFILE, the *only* consumer
is pkg-devel, and it works just fine without LATEST_LINK as pkg-devel
has the correct PKGNAME anyway.
Now that UNIQUENAME is gone, OPTIONSFILE is too. (it's been called
OPTIONS_FILE now.)
Reviewed by: antoine, bapt
Exp-run by: antoine
Sponsored by: Absolight
Differential Revision: https://reviews.freebsd.org/D3336
Update the default version of GCC in the Ports Collection from GCC 4.7.4
to GCC 4.8.3.
Part II, Bump PORTREVISIONs.
PR: 192025
Tested by: antoine (-exp runs)
Approved by: portmgr (implicit)
- Switch devel/hwloc to USES=libtool, drop .la files
- Bump dependent ports as .so version has changed
- Add LICENSE_FILE
- While here, fix stagedir reference in www/trafficserver
Approved by: portmgr blanket
Update the default version of GCC used in the Ports Collection from
GCC 4.6.4 to GCC 4.7.3. This entails updating the lang/gcc port as
well as changing the default in Mk/bsd.default-versions.mk.
Part II, Bump PORTREVISIONs.
PR: 182136
Supported by: Christoph Moench-Tegeder <cmt@burggraben.net> (fixing many ports)
Tested by: bdrewery (two -exp runs)
Convert all USE_FORTRAN=yes to "USES=fortran, USE_GCC=yes". In most cases
USE_GCC=yes has been omitted though.
Remove USE_FORTRAN handling from bsd.port.mk and bsd.gcc.mk.
Minor cleanups in some ports like USE_GMAKE, NOPORTDOCS,...
Exp-run: bdrewery
Approved by: portmgr (bdrewery)
- New port net/openmpi-devel. Version 1.7 of Open MPI.
Open MPI is a project combining technologies and resources from several
other projects (FT-MPI, LA-MPI, LAM/MPI, and PACX-MPI) in order to
build the best MPI library available. A completely new MPI-2 compliant
implementation, Open MPI offers advantages for system and software
vendors, application developers and computer science researchers.
- Change maintainer's email to @FreeBSD.org
- Add stage support
- Add SLURM options to support sysutils/slurm-hpc (submitted via email by Jason
Bacon <jwbacon@tds.net>)
- Use options helpers
- Add VT (VampirTrace) as option
Update to libmpc version 1.0.1 which brings the following fixes:
- Switched to automake 1.11.6, see CVE-2012-3386.
- #14669: Fixed extraction of CC from gmp.h.
- Fixed case of intermediate zero real or imaginary part in mpc_fma,
found by hydra with GMP_CHECK_RANDOMIZE=1346362345.
This is on top of the following changes from version 1.0
- Licence change towards LGPLv3+ for the code and GFDLv1.3+ (with no
invariant sections) for the documentation.
- 100% of all lines are covered by tests
- Renamed functions
. mpc_mul_2exp to mpc_mul_2ui
. mpc_div_2exp to mpc_div_2ui
(Only the first 15 lines of the commit message are shown above )
Revert the pkgconfig change in r320019. It didn't work and my initial
efforts to fix it didn't work. The result wouldn't have been useful
enough to spend more effor on it.
Remove SGE support as the SGE ports will be removed shortly.
Fix the IPv6 enable/disable option. IPv6 support was impropertly
disabled before.
Install pkgconfig files in a slightly less wrong place.
Drop maintainership, I no longer maintain any FreeBSD clusters.