tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

math/py-numpy and math/py-numpy16 updated using math/cblas and could use some verification on Darwin at least



Hi all,

I finally managed to import math/cblas and math/lapacke, the C
interfaces to the BLAS and LAPACK libraries. During upstreaming the
changes we do regarding that in math/py-numpy, I realized that NumPy
really does need the C BLAS interface, hence the package now depends on
math/cblas.

Reminder: The math/cblas in pkgsrc is just the Netlib C interface that
links to the actual BLAS lib that was configured at build time. We do
support installing differing implementations of BLAS side-by-side, but
math/cblas always installs just one libcblas that pulls in the configured
(e.g. libcblas.so linked to libopenblas_openmp.so, selected via
PKGSRC_BLAS_TYPES).

There used to be a distinciton for OSX/Darwin to avoid our
mk/blas.buildlink.mk machinery. The Acclerate framework _is_ handled by
that, though. The special case is gone now, but I lack the system to
verify that this really works.

I also brought the PY27-variant of numpy (math/py-numpy16) up to date
regarding BLAS usage.

Since NumPy is a thing with some consequences, it would be good if
people could verify on their platforms if this recent change truly
works out for you.

There are two paths:

1. Test the build without any BLAS-related configuration.
   This should build NumPy linking to math/blas (directly and via
   math/cblas), the standard Netlib implementation.

2. Test an optimized build (-framework Accelerate on Darwin).
   For that, you should set PKGSRC_BLAS_TYPES to your preferred variant
   (see mk/blas.buildlink3.mk) and re-build math/cblas and the numpy
   package(s).

Things should just work … but of course you never know. If any issue
crops up, chances are that we might have to updated the build system
patch I managed to get upstream into NumPy. Would be good if that
happens before they release version 1.21.

Of course, verifying if the whole stack of scientific pythion stuff
properly works with the updated NumPy is always a good idea. Nowadays,
you'll want to ensure that the BLAS choice of NumPy is properly
replicated in other packages (verifying the .so linkage of native
objects).


Alrighty then,

Thomas

-- 
Dr. Thomas Orgis
HPC @ Universität Hamburg


Home | Main Index | Thread Index | Old Index