Commit graph

85 commits

Author SHA1 Message Date
wiz
c4575db46c lapack and friends: update to 3.10.1
This is a minor release addressing multiple bug fixes and improvements.
2022-04-21 10:30:23 +00:00
nros
2504c14469 Fix lapack parallel build when building both static and shared libs
lapack creates .mod files that are created in the same location
when the static and shared libraries these then interfere with each
other. put the .mod files created when buildling the static library
in a different directory to fix this.
2022-03-13 07:31:56 +00:00
wiz
9e9d1a7126 lapack: update lapack*, cblas*, and blas* to 3.10.0
This is a major release and also addressing multiple bug fixes.
2021-11-23 22:45:01 +00:00
nia
414fc7869d math: Replace RMD160 checksums with BLAKE2s checksums
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
2021-10-26 10:55:21 +00:00
nia
3c576fbd23 math: Remove SHA1 hashes for distfiles 2021-10-07 14:27:43 +00:00
thor
0e625c23c8 math/lapack, math/openblas: more inclusive 64 bit platform check
The simple approach missed alpha.
2021-06-15 15:06:23 +00:00
thor
3c66c4bf79 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, f2c-based)
and BLAS/LAPACK with f2c/g77 calling conventions. A default build with
gfortran would not like that

This commit also fixes up math/py-numpy and math/py-numpy16 to follow the
new scheme, as that are the only packages directly affected by the change
in CBLAS providership.
2021-06-15 04:41:51 +00:00
thor
8a98dfeddf math/lapack, math/cblas, math/lapacke: Remove premature cmake files from install
Those cmake config files are not useful for us and they are incorrect
for the upcoming 64-bit-index variants. Also, we could switch back
to the Makefile build from cmake in future. Let's treat the question of
CMake as implementation detail of the packages.

The actual use is via mk/blas.bl3 in pkgsrc and pkg-config. There isn't
even added value in these files, were they to be correct. CMake builds
can use pkg-config just fine.
2021-06-10 00:18:52 +00:00
thor
36bdd6660d math/lapacke: distinfo for the changed patch 2021-06-01 22:14:09 +00:00
thor
bbcad74788 math/lapack: fix static library name preparing for lapack64
The upcoming lapack64 needs the library name liblapack64, the
variable for that was missing in the patch. This does not change
the build of math/lapack itself.
2021-06-01 22:13:35 +00:00
thor
6292db1259 math/lapack: remove spurious hook from lokal build in CMake patch
This added a rather irrelevant local search path and just polluted
the patch with a local directory from by builds.
2021-05-17 11:31:29 +00:00
thor
699a98a967 cblas: Restore: Fix link to Fortran libraries by using Fortran compiler as linker
This was lost on the recent rework of the patches:

On NetBSD.
In PKGSRC_FORTRAM=gfortran case, libcblas has no RPATH=/usr/pkg/gccXX/lib
and libgfortran and libquadmath are not found.
In PKGSRC_FORTRAN=g95 case, libcblas has no
RPATH=/usr/pkg/lib/gcc-lib/x86_64--netbsd/4.1.2 and libf95 is not found.

Use Fortran compiler as linker instread of C compiler to fix link.
2021-05-13 07:52:05 +00:00
thor
db2a0fc726 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 …
2021-05-12 14:32:51 +00:00
ryoon
96c2c10124 cblas: Fix link to Fortran libraries by using Fortran compiler as linker
On NetBSD.
In PKGSRC_FORTRAM=gfortran case, libcblas has no RPATH=/usr/pkg/gccXX/lib
and libgfortran and libquadmath are not found.
In PKGSRC_FORTRAN=g95 case, libcblas has no
RPATH=/usr/pkg/lib/gcc-lib/x86_64--netbsd/4.1.2 and libf95 is not found.

Use Fortran compiler as linker instread of C compiler to fix link.
2021-04-21 13:53:18 +00:00
thor
f06ec449f4 math/lapack: remove bad/broken BLAS_LIBS usage, always use netlib BLAS here 2021-03-25 08:32:48 +00:00
bacon
87edcb24b1 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
2020-10-12 21:51:57 +00:00
plunky
9ffb0ab867 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
   Symmetric-indefinite Factorization: Aasen’s tridiagonalization 2 stage
      A contribution from Ichitaro Yamazaki (University of Tennessee).

   LAPACKE interfaces
      A contribution from Julie Langou (University of Tennessee).
2020-02-28 21:48:53 +00:00
rillig
9637f7852e all: migrate homepages from http to https
pkglint -r --network --only "migrate"

As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
2020-01-26 17:30:40 +00:00
ryoon
6de612238f In MAKE_JOBS >= 8 at least, some .o files are not built before link stage.
Mark MAKE_JOBS_SAFE=no.
2019-10-05 06:14:05 +00:00
maya
d7e33ee843 LAPACK: build deprecated functions. Allows me to build unmodified
octave forge control, sparing the need to understand how to patch
fortran 77 code.

Fixes PR pkg/52449.

bump PKGREVISION.
2018-08-12 15:02:04 +00:00
wiz
a7a8d478a2 Update blas and lapack to 3.7.1.
Reduce pkgsrc patches by depending on gmake.

No changelog found.
2017-09-11 20:56:28 +00:00
adam
b25458108c Changes 3.7.0:
* Linear Least Squares / Minimum Norm solution
* Symmetric-indefinite Factorization: Aasen’s tridiagonalization
* Symmetric-indefinite Factorization: New storage format for L factor in Rook Pivoting and Bunch Kaufman of LDLT
* Symmetric eigenvalue problem: Two-stage algorithm for reduction to tridiagonal form
* Improved Complex Jacobi SVD
* LAPACKE interfaces
2017-01-25 15:53:06 +00:00
wiz
7209783998 MAKE_ENV is in OPSYSVARS -- simplify previous.
Thanks, jperkin!
2016-12-12 14:36:22 +00:00
wiz
d2489d39d2 Wrap Dragonfly specific workaround in .if ${OPSYS} == "DragonFly" 2016-12-12 14:24:59 +00:00
marino
30d157bfec math/lapack: Restore build on DragonFly
Linking lapack with the gold linker fails with this error:
fatal error: --sysroot=: must take a non-empty 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.
2016-12-03 15:37:34 +00:00
wiz
08b3e08a91 Updated lapack to 3.6.1.
LAPACK 3.6.1: What’s new

[Mark Gates, UTK] blocked back-transformation for the non-symmetric eigenvalue problem

It blocks NB gemv calls into one gemm call inside trevc. To do
that, it needs a new routine, trevc3, because unfortunately the
lwork was not passed into trevc. Attached is the performance speedup
for dgeev. It gives a nice 1.5x speedup for N=20000, and that
appears to still be increasing with N. This is not the improvements
that Greg Henry recently provided for doing the triangular solves
as BLAS-3 instead of BLAS-1. That will take a while to process,
but we expect another, even larger increase in performance when
those changes are applied. This also does not include doing multiple
(BLAS-1) triangular solves in parallel, which is available in MAGMA,
since that requires OpenMP or pthreads.
2016-10-18 14:08:14 +00:00
agc
286ea2536c Add SHA512 digests for distfiles for math category
Problems found locating distfiles:
	Package dfftpack: missing distfile dfftpack-20001209.tar.gz
	Package eispack: missing distfile eispack-20001130.tar.gz
	Package fftpack: missing distfile fftpack-20001130.tar.gz
	Package linpack: missing distfile linpack-20010510.tar.gz
	Package minpack: missing distfile minpack-20001130.tar.gz
	Package odepack: missing distfile odepack-20001130.tar.gz
	Package py-networkx: missing distfile networkx-1.10.tar.gz
	Package py-sympy: missing distfile sympy-0.7.6.1.tar.gz
	Package quadpack: missing distfile quadpack-20001130.tar.gz

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
2015-11-03 23:33:26 +00:00
wiz
cda18437be Remove pkgviews: don't set PKG_INSTALLATION_TYPES in Makefiles. 2014-10-09 14:05:50 +00:00
joerg
db452e7a63 Build and link Fortran code using the Fortran Compiler. Bump revision. 2014-08-19 13:37:14 +00:00
adam
abf9107f67 Fix linking with gfortran 2014-03-31 20:53:22 +00:00
adam
56af0fb587 Changes 3.5.0:
* added Symmetric/Hermitian LDLT factorization routines with rook pivoting algorithm
* 2-by-1 CSD to be used for tall and skinny matrix with orthonormal columns (in LAPCK 3.4.0, we already integrated CSD of a full square orthogonal matrix)
* New stopping criteria for balancing.
2014-02-28 09:39:56 +00:00
tron
112aeeced8 This packages needs a Fortran 95 compiler to build, Fortran 77 is not
good enough.
2013-06-03 08:22:59 +00:00
asau
b63c74fdfd "user-destdir" is default these days 2012-09-11 23:04:15 +00:00
adam
6c561e6c43 Pass LDFLAGS for linking 2011-01-25 12:45:43 +00:00
asau
dfc6889736 "fortran" -> "fortran77" except where it is clear that it isn't F77.
"fortran" is alias of "fortran77" for now, but it will change later.
2010-07-30 10:36:22 +00:00
dmcmahill
f298c8d2a6 Detect if the fortran compiler/libs have etime as an intrinsic or not instead
of hard coding it.  This package builds with both f2c and gfortran now.
2010-03-17 21:47:11 +00:00
heinz
ccd5df3b35 Added LICENSE information. 2010-01-30 16:27:59 +00:00
asau
6754aacfb8 Follow f2c/libf2c split: bump revision of all packages
that list Fortran in used languages.
2009-12-03 13:06:51 +00:00
tnn
176dba4f3b patch-ad: Don't remove the $(NOOPT) for slamch.f and dlamch.f
Was probably done unintentionally and caused infinite loops on some platforms.
Patch from Aleksey Cheusov in PR pkg/38371.
2009-10-20 14:00:23 +00:00
joerg
2d1ba244e9 Simply and speed up buildlink3.mk files and processing.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
2009-03-20 19:23:50 +00:00
asau
316a689776 Use MASTER_SITE_NETLIB for Netlib and its mirrors.
Discussed with Tobias Nygren.
2009-02-22 14:15:28 +00:00
markd
02eaa3a918 Tell libtool that its linking fortran so the correct libraries get linked
in.
2008-08-12 21:32:04 +00:00
tnn
8aa19c3bca Mark some packages as NOT_FOR_BULK_PLATFORM= Linux-*-*
Addresses PR pkg/38368 and PR pkg/38371
2008-05-26 22:25:25 +00:00
jlam
a80fd13efc Mechanical changes to add DESTDIR support to packages that install
their files via a custom do-install target.
2008-03-04 17:57:17 +00:00
adam
78324ec107 Changes 3.1.1:
* Add blas routines so that the blas provided is complete
* Provide 5 flavours of SECOND and DSECND
* Bug fixes
2007-12-10 17:50:31 +00:00
wiz
c8a43530f1 Remove Ex-MASTER_SITEs. From Zafer Aydogan. 2007-12-02 11:20:53 +00:00
joerg
222361b56e cc is used at least on DragonFly for linkage, so keep C in USE_LANGUAGES. 2006-08-22 23:27:23 +00:00
jlam
c16221a4db Change the format of BUILDLINK_ORDER to contain depth information as well,
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.

For example, "make show-buildlink3" in fonts/Xft2 displays:

	zlib
	fontconfig
	    iconv
	    zlib
	    freetype2
	    expat
	freetype2
	Xrender
	    renderproto
2006-07-08 23:10:35 +00:00
jlam
9430e49307 Track information in a new variable BUILDLINK_ORDER that informs us
of the order in which buildlink3.mk files are (recursively) included
by a package Makefile.
2006-07-08 22:38:58 +00:00
rillig
96fc47c14f Aligned the last line of the buildlink3.mk files with the first line, so
that they look nicer.
2006-04-12 10:26:59 +00:00