tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Requesting review of new interchangeable BLAS components
As some of you may recall, Thomas Orgis has developed a new set of
BLAS/LAPACK packages and an mk file that allow both users and package
maintainers to interchange BLAS/LAPACK implementations for any package.
The system currently supports Netlib BLAS and LAPACK, CBLAS, LAPACKE,
and OpenBLAS single-threaded, OpenMP and pthreads. Netlib is the
reference implementation and the only one currently supported by
pkgsrc. OpenBLAS and some proprietary implementations like Intel's MKL
can be an order of magnitude faster in some settings, so this is an
important step forward for pkgsrc in scientific computing. All
implementations are meant to be highly compatible, though occasional
regressions are inevitable. The user and maintainer control knobs
provided by this system offer an easy workaround for any issues that
might arise with a particular implementation.
This has been years in the making, has undergone extensive discussion
about optimal design, and has been extensively tested in the field.
We believe the system is ready for commit and would like to ask for any
final comments before we proceed.
My plan for the initial commit is as follows:
1. Add mk/blas.buildlink3.mk from wip/mk.
2. Upgrade math/blas and math/lapack, the current Netlib packages, from wip
3. Revbump all dependent packages and modify their .includes to use
mk/blas.buildlink3.mk instead of math/blas/buildlink3.mk or
math/lapack/buildlink3.mk.
So at this time, we only need immediate review of
wip/mk/blas.buildlink3.mk, wip/blas, and wip/lapack.
After completing these commits and verifying that everything is in
order, we will add the new packages wip/cblas, wip/lapacke,
wip/openblas, wip-openblas_openmp, and wip/openblas_pthread. This will
open the door to far better performance of scientific applications and
new packages that require the C interface provided by cblas/lapacke. (
BLAS/LAPACK are originally written in Fortran. )
Thanks,
JB
Home |
Main Index |
Thread Index |
Old Index