Skip to main content

The Blis BLAS-like linear algebra library, as a self-contained C-extension.

Project description

Fast BLAS-like operations from Python and Cython, without the tears
========================================================

I hate trying to make sure my numpy stack is linked to the correct BLAS, and I want to avoid asking my users to do it.

BLAS is so ubiquitous in numeric computing, that at some point you stop noticing this missing stair.
You just remember not to trip. But I've always wanted a better solution.

This library vendorises BLIS, a BLAS-like library of linear algebra routines. It's not quite as fast as OpenBLAS,
but it's close, the code is clean and well organised, only little bits are in Assembly, and nothing is in Fortran.

The wrapper is designed to be used from Cython code, and makes heavy use of fused types. This means that you can call the
same function with either a pointer *or* a memory view, and it all just works, with no runtime cost. If you're a frequent
Cython user, you should recognise this as pretty neat. It's usually frustrating when you have a pointer but the API wants
a memoryview, because you can't create one without first acquiring the GIL. The opposite situation is also quite annoying.
Fused types are also used to allow float/double polymorphism, to keep the API trim.

The wrapper isn't finished yet, and nothing has docstrings etc. But the concept works!

You can do

pip install blis

And, at least on OSX and Ubuntu, the library installs without any dramas. It does take a little longer to compile than it might.
It would be good to trim down the amount of stuff it's compiling.

Windows support for this will probably be painful, but it would be very nice, as Windows users could really use more easily installed options for
numeric computing. I hope someone can help out, and the Windows support could move forward.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

blis-0.0.10.tar.gz (3.5 MB view details)

Uploaded Source

File details

Details for the file blis-0.0.10.tar.gz.

File metadata

  • Download URL: blis-0.0.10.tar.gz
  • Upload date:
  • Size: 3.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for blis-0.0.10.tar.gz
Algorithm Hash digest
SHA256 dcbae601a12b66fc9d2eaa0ea582a386c7e6897caf3ad2f0ab9cb783048c3296
MD5 cf99781c39fa361f28acf7369b975923
BLAKE2b-256 2f71b858783ba0c5d8f034ab0435381d2dba931b5883377870c19954805a5d64

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page