Path to this page:
./
math/blas,
Basic Linear Algebra System (Netlib reference implementation)
Branch: CURRENT,
Version: 3.10.0,
Package name: blas3.10.0,
Maintainer: thomas.orgisThe BLAS (Basic Linear Algebra Subprograms) are high quality "building
block" routines for performing basic vector and matrix
operations. Level 1 BLAS do vectorvector operations, Level 2 BLAS do
matrixvector operations, and Level 3 BLAS do matrixmatrix
operations. Because the BLAS are efficient, portable, and widely
available, they're commonly used in the development of high quality
linear algebra software, LINPACK and LAPACK for example.
This package contains the Fortran 77 reference implementation of BLAS.
Required to run:[
lang/g95]
Required to build:[
pkgtools/cwrappers]
Master sites:
Filesize: 7451.929 KB
Version history: (Expand)
 (20211201) Updated to version: blas3.10.0
 (20210512) Updated to version: blas3.9.1
 (20201013) Updated to version: blas3.9.0nb1
 (20200229) Updated to version: blas3.9.0
 (20180824) Updated to version: blas3.7.1nb1
 (20170912) Updated to version: blas3.7.1
CVS history: (Expand)
20210615 06:41:53 by Dr. Thomas Orgis  Files touched by this commit (36) 
Log message:
mk/blas.bl3, Netlib and OpenBLAS packages, NumPy: C fixup and 64 bits
This delivers 64 bit index BLAS libraries alongside 32 bit ones. This is often
called ILP64 in the BLAS world, as opposed to LP64 where integers are 32 bit
due to the Fortran default integer type, not to be confused with the basic
system ABI used by C. For really large vectors on modern machines, you want
an 'ILP64' BLAS and layers on top of it.
In preparation of better support for vendor BLAS libraries, I had to realize
that you better use the C interfaces supplied by them, not the netlib one
strapped on. A simple reason of practicability: The vendor blas libraries,
just like openblas, like to ship all symbols in one library, so you get them
whether you want it or not. Also implementations may skip Fortran and implement
the underlying functionality directly in C anyway, so one might skip a
layer of indirection. Future will tell if other layers will follow. We still
have the framework of individual layers from Netlib to combine with certain
implementations that miss them (Accelerate framework comes to mind, which
needs further work).
The framework of netlib reference packages for the separate libraries
is instructive and helps keeping things small when you not need all of them.
The installation location of the headers is now in a subdirectory to be able
to have 32 and 64 bit variants independently. The 32 bit ones are linked to
${PREFIX}/include to keep the old picture. We could be brave and remove
those, but there is some value in a build just trying lcblas and
inclusion of <cblas.h> to be happy.
There is one blas.buildlink3.mk that is supposed to be used only once and
so avoids a combination of conflicting libraries (as the 64 bit index symbols
have the same names as the 32 bit ones).
Basic usage for getting LAPACK+BLAS is still the same as before. You get
CBLAS and LAPACKE by setting BLAS_C_INTERFACE=yes in the package. The 64 bit
indices are selected via BLAS_INDEX64=yes.
Due to the special nature of the Accelerate framework, a package has to
explicitly indicate support for it and it will also not appear on the
list of implementations by default. The reason is that it does provide
mainly CBLAS and CLAPACK (another version of C interface to LAPACK, f2cbased)
and BLAS/LAPACK with f2c/g77 calling conventions. A default build with
gfortran would not like that
This commit also fixes up math/pynumpy and math/pynumpy16 to follow the
new scheme, as that are the only packages directly affected by the change
in CBLAS providership.

20210512 16:32:52 by Dr. Thomas Orgis  Files touched by this commit (12)  
Log message:
math/lapack, blas, cblas, lapacke: update to version 3.9.1
This includes a rework of the build system patches, which I'll try
to push upstream …

20201012 23:52:05 by Jason Bacon  Files touched by this commit (87) 
Log message:
math/blas, math/lapack: Install interchangeable BLAS system
Install the new interchangeable BLAS system created by Thomas Orgis,
currently supporting Netlib BLAS/LAPACK, OpenBLAS, cblas, lapacke, and
Apple's Accelerate.framework. This system allows the user to select any
BLAS implementation without modifying packages or using package options, by
setting PKGSRC_BLAS_TYPES in mk.conf. See mk/blas.buildlink3.mk for details.
This commit should not alter behavior of existing packages as the system
defaults to Netlib BLAS/LAPACK, which until now has been the only supported
implementation.
Details:
Add new mk/blas.buildlink3.mk for inclusion in dependent packages
Install compatible Netlib math/blas and math/lapack packages
Update math/blas and math/lapack MAINTAINER approved by adam@
OpenBLAS, cblas, and lapacke will follow in separate commits
Update direct dependents to use mk/blas.buildlink3.mk
Perform recursive revbump

20200228 22:48:54 by Iain Hibbert  Files touched by this commit (14) 
Log message:
Update math/lapack and math/blas to v3.9.0
Have switched to the CMAKE build and enabled tests.
make test passes all (with one patch pushed upstream)
Package additions, from the release notes are:
LAPACK 3.9.0
LAPACK QR
preconditioned QR SVD method for computing the SVD with high accuracy,
by Zlatko Drmac
LAPACK Householder Reconstruction
by Igor Kozachenko and Jim Demmel
LAPACK 3.8.0
Symmetricindefinite Factorization: Aasen’s tridiagonalization 2 stage
A contribution from Ichitaro Yamazaki (University of Tennessee).
LAPACKE interfaces
A contribution from Julie Langou (University of Tennessee).

20161203 16:37:34 by John Marino  Files touched by this commit (2) 
Log message:
math/lapack: Restore build on DragonFly
Linking lapack with the gold linker fails with this error:
fatal error: sysroot=: must take a nonempty argument
DragonFly has been using the gold linker by default for a while now.
Since I don't have time to track down this linking problem, I'm going
to restore the build on DragonFly by setting an environment variable
that forces DF to use the classic GNU linker instead.
This was already fixed on math/blas which uses the lapack common
makefile, so just relocate the fix to lapack.

20161203 04:42:45 by John Marino  Files touched by this commit (1) 
Log message:
math/blas: Restore build on DragonFly
Linking blas with the gold linker fails with this error:
fatal error: sysroot=: must take a nonempty argument
DragonFly has been using the gold linker by default for a while now.
Since I don't have time to track down this linking problem, I'm going
to restore the build on DragonFly by setting an environment variable
that forces DF to use the classic GNU linker instead.
At this point in time, I don't know if BLAS is unique or if LAPACK
and others need the same workaround. If the latter, this variable
may need to be moved to the common LAPACK makefile.

20161018 16:08:48 by Thomas Klausner  Files touched by this commit (1)  
Log message:
Update blas to 3.6.1 as well.
Changes: see lapack.
Both updates provided by KaiUwe Eckhardt in private email.

20140819 15:37:15 by Joerg Sonnenberger  Files touched by this commit (6) 
Log message:
Build and link Fortran code using the Fortran Compiler. Bump revision.
