[Numpy-discussion] C-coded dot 1000x faster than numpy?

Charles R Harris charlesr.harris at gmail.com
Wed Feb 24 10:12:10 EST 2021


On Wed, Feb 24, 2021 at 8:02 AM Charles R Harris <charlesr.harris at gmail.com>
wrote:

>
>
> On Wed, Feb 24, 2021 at 5:36 AM Neal Becker <ndbecker2 at gmail.com> wrote:
>
>> See my earlier email - this is fedora 33, python3.9.
>>
>> I'm using fedora 33 standard numpy.
>> ldd says:
>>
>> /usr/lib64/python3.9/site-packages/numpy/core/_
>> multiarray_umath.cpython-39-x86_64-linux-gnu.so:
>> linux-vdso.so.1 (0x00007ffdd1487000)
>> libflexiblas.so.3 => /lib64/libflexiblas.so.3 (0x00007f0512787000)
>>
>> So whatever flexiblas is doing controls blas.
>> flexiblas print
>> FlexiBLAS, version 3.0.4
>> Copyright (C) 2014, 2015, 2016, 2017, 2018, 2019, 2020 Martin Koehler
>> and others.
>> This is free software; see the source code for copying conditions.
>> There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or
>> FITNESS FOR A PARTICULAR PURPOSE.
>>
>>
>> Configured BLAS libraries:
>> System-wide (/etc/flexiblasrc):
>>
>> System-wide from config directory (/etc/flexiblasrc.d/)
>>  OPENBLAS-OPENMP
>>    library = libflexiblas_openblas-openmp.so
>>    comment =
>>  NETLIB
>>    library = libflexiblas_netlib.so
>>    comment =
>>  ATLAS
>>    library = libflexiblas_atlas.so
>>    comment =
>>
>> User config (/home/nbecker/.flexiblasrc):
>>
>> Host config (/home/nbecker/.flexiblasrc.nbecker8):
>>
>> Available hooks:
>>
>> Backend and hook search paths:
>>   /usr/lib64/flexiblas/
>>
>> Default BLAS:
>>     System:       OPENBLAS-OPENMP
>>     User:         (none)
>>     Host:         (none)
>>     Active Default: OPENBLAS-OPENMP (System)
>> Runtime properties:
>>    verbose = 0 (System)
>>
>> So it looks  to me it is using openblas-openmp.
>>
>>
> ISTR that there have been problems with openmp. There are a ton of
> OpenBLAS versions available in fedora 33. Just available via flexiblas
>
>
>    1. flexiblas-openblas-openmp.x86_64 : FlexiBLAS wrappers for OpenBLAS
>    2. flexiblas-openblas-openmp.i686 : FlexiBLAS wrappers for OpenBLAS
>    3. flexiblas-openblas-openmp64.x86_64 : FlexiBLAS wrappers for
>    OpenBLAS (64-bit)
>    4. flexiblas-openblas-serial.x86_64 : FlexiBLAS wrappers for OpenBLAS
>    5. flexiblas-openblas-serial64.x86_64 : FlexiBLAS wrappers for
>    OpenBLAS (64-bit)
>    6. flexiblas-openblas-threads.x86_64 : FlexiBLAS wrappers for OpenBLAS
>    7. flexiblas-openblas-threads64.x86_64 : FlexiBLAS wrappers for
>    OpenBLAS (64-bit)
>
> I am not sure how to make use of flexiblas, but would explore that. We
> might need to do something with distutils to interoperate with it or maybe
> you can control it though site.cfg. There are 12 versions available in
> total. I would suggest trying serial or pthreads.
>
>
Seems to be controlled in the /etc directory:

/etc/flexiblas64rc.d/openblas-openmp64.conf

On my machine it looks like openmp64 is the system default.

Chuck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.python.org/pipermail/numpy-discussion/attachments/20210224/32f43a08/attachment-0001.html>


More information about the NumPy-Discussion mailing list