pkgsrc-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
New BLAS/LAPACK system
To anyone maintaining BLAS/LAPACK-dependent packages:
We have a new system in-place, developed by Thomas Orgis, that allows
pkgsrc packages to use any BLAS/LAPACK implementation without
modification to the package.
This system will greatly improve the usability of pkgsrc in science by
providing flexibility and the superior performance of alternative
implementations such as OpenBLAS.
Key points:
- Any pkgsrc package using BLAS/LAPACK should now use
.include "../../mk/blas.buildlink3.mk"
rather than bl3s from individual packages such as math/blas or
math/lapack. mk/blas.buildlink3.mk will provide both BLAS and LAPACK
libraries to all packages. Most implementations use a single library
now and even the netlib blas package is little more than a placeholder
for backward compatibility.
- Currently supported implementations include Netlib BLAS/LAPACK (the
only implementation provided by pkgsrc until now), OpenBLAS
single-threaded, pthreads, or openmp (currently in WIP, to be committed
soon), and Apple's Accelerate.framework. Netlib is the default since it
is the reference implementation.
- As of this moment, only Netlib packages are committed. OpenBLAS,
cblas, and lapacke are basically finished, currently available in wip,
and will be committed soon.
- Pkgsrc users can select one or more BLAS implementations by simply
setting PKGSRC_BLAS_TYPES in etc/mk.conf.
- It is still possible to include package bl3s directly, but this is
strongly discouraged. If for some reason a maintainer needs to restrict
a package to one or more particular implementations, this can be done by
setting BLAS_ACCEPTED in the package Makefile.
- See the comments in mk/blas.buildlink3.mk for details.
All existing dependent packages have been updated and revbumped to use
the new system.
Please post any questions or suggestions to this group.
Enjoy!
Home |
Main Index |
Thread Index |
Old Index