OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
OpenBLAS is an open source project supported by
Lab of Parallel Software and Computational Science, ISCAS.
NOTE: If you want to specify your CPU microarchitecture manually,
please use TARGET_CPU_ARCH knob, e.g., "make TARGET_CPU_ARCH=NEHALEM".
This value is set TARGET build flag.
===> The following configuration options are available for openblas-0.3.34_1,2:
AVX=off: Support Advanced Vector Extensions (AVX)
AVX2=off: Support Advanced Vector Extensions 2 (AVX2)
AVX512=off: Support Advanced Vector Extensions 512 (AVX512)
DYNAMIC_ARCH=off: Optimize for multiple CPU types, otherwise for this CPU
INTERFACE64=off: Use 8 byte integers on 64-bit architectures
OPENMP=on: Use OpenMP for threading
===> Use 'make config' to modify these settings
math/openblas: fix build on i386
Due to a miscompilation, a stack variable accessed by the MOVAPS
instruction ends up being misaligned. With MOVAPS requiring memory
operands to be aligned, this causes a bus error on i386. The underlying
cause could be that gfortran assumes a 16-byte aligned stack as is the
case on current i386 Linux, while we have not done the same ABI change.
I have worked around the problem by passing -mpreferred-stack-boundary=2
to disable assumptions about stack alignment, though ultimately this
will need to be fixed in the gcc and gfortran ports.
PR: 293087
MFH: 2026Q3
Reported by: salvadore
See also: https://github.com/OpenMathLib/OpenBLAS/issues/5905
Approved by: portmgr (build fix blanket)
math/openblas: fix build on powerpc64
-lm is necessary:
/usr/local/bin/ld: ../libopenblas_ppc970p-r0.3.33.a(bgemm_thread_nn.o):
undefined reference to symbol 'sqrt@@FBSD_1.0'
/usr/local/bin/ld: /lib/libm.so.5: error adding symbols: DSO missing from
command line
math/openblas: fix build on powerpc64 with PPC970
TEST 65/105 dscal:0_inf_inc_2 [FAIL]
ERR: test_zscal.c:226 should be true
TEST 66/105 dscal:0_inf [FAIL]
ERR: test_zscal.c:214 should be true
TEST 67/105 dscal:nan_0_inc_2 [OK]
TEST 68/105 dscal:nan_0 [OK]
TEST 69/105 dscal:0_nan_inc_2 [FAIL]
ERR: test_zscal.c:180 should be true
TEST 70/105 dscal:0_nan [FAIL]
ERR: test_zscal.c:168 should be true
TEST 71/105 sscal:inf_nan_inc_2 [OK]
TEST 72/105 sscal:inf_nan [OK]
TEST 73/105 sscal:nan_inf_inc_2 [OK]
(Only the first 15 lines of the commit message are shown above )
math/openblas: fix build on powerpc64*
gemv.c:229:31: error: 'GEMM_MULTITHREAD_THRESHOLD' undeclared (first use in this
function)
229 | if ( 1L * m * n < 115200L * GEMM_MULTITHREAD_THRESHOLD )
math/openblas: Revert "update to 0.3.24"
On some amd64 CPUs, this change broke py-scipy during configure,
and octave at runtime. In the end, octave kills the package
builders.
This reverts commit c45681ef5049357ef58d738865b821186b02578f.
Approved by: portmgr (antoine)
PR: 273219
MFH: 2023Q4
math/openblas: Revert "Fix WWW and GH_ACCOUNT"
This reverts commit b159e5d830372870a93bd434cabcf95096b0b92f in
preparation of a revert of c45681ef5049357ef58d738865b821186b02578f.
Approved by: portmgr (antoine)
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 )
math/lapack: +math/blas et al., upgrade to 3.9.1
- Upgrade math/blas, math/cblas, math/lapack, math/lapacke and math/xlapack
to 3.9.1;
Latest release notes at <http://www.netlib.org/lapack/lapack-3.9.1.html>
- Chase this upgrade in biology/treekin;
- Add a test target;
- Remove a conflict with math/openblas (PR 244296);
- Fix the build with Gcc10 (PR 247485).
PR: 247542
Approved by: expr-run by antoine@
math/openblas: Fix build on armv6/v7
OpenMP is not available on these arches:
In file included from ../common.h:847:
../common_thread.h:43:10: fatal error: 'omp.h' file not found
Approved by: portmgr (build fix blanket)
math/openblas: Allow building in poudriere with DYNAMIC_ARCH=off.
The removed check was simply a safety belt. Improve option's description to
underline that turning it off semantically equals to building with march=native.
PR: 245926
Approved by: Eijiro Shibusawa <phd_kimberlite@yahoo.co.jp> (maintainer)
math/openblas: fix build on powerpc64le
Use GCC to build, like on powerpc64.
Since LE supports DYNAMIC_ARCH, add it.
Correct check for 64-bit architectures.
Approved by: tier 2 blanket
math/openblas: update to 0.3.10, add POWER8 option
Changelog:
common:
Improved thread locking behaviour in blas_server and parallel getrf
Imported bugfix 394 from LAPACK (spurious reference to "XERBL"
due to overlong lines)
Imported bugfix 403 from LAPACK (compile option "recursive" required
for correctness with Intel and PGI)
Imported bugfix 408 from LAPACK (wrong scaling in ZHEEQUB)
Imported bugfix 411 from LAPACK (infinite loop in LARGV/LARTG/LARTGP)
Fixed mismatches between BUFFERSIZE and GEMM_UNROLL parameters that
could lead to crashes at large matrix sizes
(Only the first 15 lines of the commit message are shown above )
math/openblas: fix build on powerpc
Merge upstream commit to fix build on powerpc.
Use GCC from ports to build it.
Since this is mostly about G3 and G4 machines that users have and OpenBLAS
supports only G4 of those, target G4.
Due to some (still unknown) regression on head, this builds on 12.1, but fails
tests on head.
math/openblas: Fix a regression in 0.3.9 by backporting the pull request
The upstream agrees that this is a bug but they wouldn't make a release to fix
it
https://github.com/xianyi/OpenBLAS/issues/2600
Approved by: portmgr (unbreak)
math/openblas: Unbreak some users because some functions were broken with
OPENMP=OFF
Change the default to OPENMP=ON
For example, erkale (science/erkale) was breaking:
OpenBLAS Warning : Detect OpenMP Loop and this application may hang. Please
rebuild the library with USE_OPENMP=1 option.
Approved by: portmgr (unbreak)
math/openblas: actually add libopenblas library to the package on powerpc64 head
On powerpc64 head, libopenblas_ppc970p-r0.3.7.* weren't added to the package,
even though the package itself built succesfully. This problem doesn't exist on
12.
Lack of libopenblas_ppc970p-r0.3.7.* made many packages fail.
Add DYNAMIC_ARCH option everywhere since it will cause the post-install target
dependent on this option to run and include libopenblas_ppc970p-r0.3.7.* in the
package.
This is only to get the necessary libs in the package, the option only works on
ppc64le, which we don't support.
Bump PORTREVISION because of package change.
math/openblas: fix plist with DYNAMIC_ARCH off
This is further fallout from r523749 and r524642
While here, fix order of PORTREVISION. There is no PORTREVISION bump
because this a build fix.
PR: 231371
PR: 243739
Reported by: many
Fix math/openblas and bump dependent ports
* Fix build on i386 [1]
* Fix science/code_saturne build with new openblas [2]
* Avoid installing private headers [3]
* Prevent build from optimizing for host by correcting build confg [4]
* Bump portrevision of dependent ports [5]
This is correcting issues from r523749 [1][2][4] and r515970 [3]
PR: 231371
Reported by: build cluster [1]
Reported by: Dima Pasechnik <dimpase+freebsd@gmail.com> [2]
Reported by: many [5]
Reviewed by: mat, bapt
Approved by: implicit, since this is a build fix
math/openblas: fix build on powerpc64 with clang, remove OPENMP option on
powerpc64
On powerpc64 OpenMP is always used when USE_THREADS is defined (which we do
unconditionally). This means that OPENMP option on powerpc64 doesn't have any
effect and it should be removed.
Clang also has some problems when linking Fortran libraries with OpenMP, so use
GCC for powerpc64.
PR: 240379
Approved by: phd_kimberlite@yahoo.co.jp (maintainer), linimon (mentor)
math/openblas: fix build on powerpc64 with TARGET=PPC970 and switch to PPC970
This patch fixes build for PPC970 target. Since most people that run FreeBSD on
powerpc64 use PowerPC 970 CPU's, switch to it by default and add non-default
option to optimize for POWER6 (optimizing for newer POWER doesn't work on BE).
Bump PORTREVISION because of package change.
PR: 238868
Approved by: phd_kimberlite@yahoo.co.jp (maintainer), linimon (mentor)
Differential Revision: https://reviews.freebsd.org/D21010
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
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
math/openblas: Use options FCOMMON_OPT=-frecursive MAKE_NB_JOBS=-1 for
non-openmp too
Previously I added these options only to the openmp build which isn't a default.
This change is requested by the upstream.
Ref. https://github.com/xianyi/OpenBLAS/issues/1882
Approved by: portmgr (unbreak)
math/openblas: Increase the limit for the number of threads to unbreak other
ports
NUM_THREADS= sets the build-time limit on the number of threads that apps can
use with OpenBlas.
This unbreaks at least science/erkale's tests, and possibly some other software.
The upstream acknowledges the problem, recommended this solution for the port,
and are working on the permanent solution:
https://github.com/xianyi/OpenBLAS/issues/1882
Approved by: portmgr blanket (unbreak)
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
Upgrade OpenBLAS to 0.2.20:
* Fixed several thread race and locking bugs
* Fixed default LAPACK optimization level
* Updated LAPACK to 3.7.0
* Power
- Optimizations for Power9
- Fixed several Power8 assembly bugs
* ARM
- New optimized Vulcan and ThunderX2T99 targets
- Support for ARMV7 SOFT_FP ABI (make ARM_SOFTFP_ABI=1)
(Only the first 15 lines of the commit message are shown above )
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
math/openblas: Fix build on 12-CURRENT armv6.
The build still fails on 11 armv6, however MFC of r313873 will hopefully
fix the build there as well.
While here also add LICENSE_FILE and fix portlint warnings.
PR: 217279
Submitted by: mikael.urankar@gmail.com
Approved by: phd_kimberlite@yahoo.co.jp (maintainer), swills (mentor, implicit)
Differential Revision: https://reviews.freebsd.org/D9801
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
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).
In particular that is 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.
Update to 0.2.15.
0.2.15 was released in October 2015.
Release notes: http://www.openblas.net/Changelog.txt
This update introduces support for new CPU architectures, such as Intel's
Broadwell and Skylake. In practice, this means people using those architectures
can actually build the port now (OpenBLAS seems to do some CPU-detection that
cannot be easily turned off and refusing to build on unrecognized CPUs).
Port changes:
- Reorganize a few variables in Makefile.
- Refresh patches.
PR: 206886
Submitted by: Adriaan de Groot <groot@kde.org> (first version),
Eijiro Shibusawa <phd_kimberlite@yahoo.co.jp> (maintainer)
MFH: 2016Q1
USE_GITHUB: For the new support, fix DISTNAME to be more consistent.
When using GH_TAGNAME the DISTNAME would have GH_PROJECT and GH_ACCOUNT in
it. When not using GH_TAGNAME it would not have this. Now both cases
will add in the GH_PROJECT and GH_ACCOUNT.
Add special care to ensure that the DISTVERSION is not added in twice. If
a port does GH_TAGNAME=v${PORTVERSION} it will be added in twice though. For
that case DISTVERSIONPREFIX=v should be set and no GH_TAGNAME should be used.
empty() is used rather than (!defined || !${}) to support fmake.
The purpose of setting DISTNAME at all in these cases is to make it more clear
that the distfile is from *GITHUB* and to avoid collisions if a project were
to be renamed or moved. Without adding in GH_PROJECT and GH_ACCOUNT then there
are real risks that collisions on filenames would happen on renamed or moved
projects, which is fairly common. A GITHUB-generated file may not match
a custom-rolled or git-archive-rolled distfile.
PR: 199069
With hat: portmgr
Testing done: All USE_GITHUB ports without GH_COMMIT were
checksum/fetch/extract/WRKSRC tested.