BLIS is a portable software framework for instantiating high-performance BLAS-like dense linear algebra libraries. The framework was designed to isolate essential kernels of computation that, when optimized, immediately enable optimized implementations of most of its commonly used and computationally intensive operations. BLIS is written in ISO C99 and available under a BSD3CLAUSE. While BLIS exports a new BLAS-like API, it also includes a BLAS compatibility layer which gives application developers access to BLIS implementations via traditional BLAS routine calls. (from their github)
All of the above is great news for us, as there is no Fortran requirement in the port to get a BLAS!
Notes:
- currently BLIS can only be compiled for one architecture, i.e., we are by default compiling for "reference" (the slowest option). developers are aware of the issue this brings for packaging and are working on it.
- the user can select a bunch of amd64 optimized architectures for custom ports builds
- BLIS supports serial/OpenMP/pthreads parallelization. OpenMP is in a somewhat broken state in ports ATM, so it's serial or pthreads (default) for now
- CBLAS interface is on by default
- BLAS "standard" interface is implicitly on