OpenBLAS
Eigen
Our great sponsors
OpenBLAS | Eigen | |
---|---|---|
21 | 0 | |
5,886 | - | |
2.0% | - | |
9.8 | - | |
4 days ago | almost 8 years ago | |
C | ||
BSD 3-clause "New" or "Revised" License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
OpenBLAS
- Assume I'm an idiot - oogabooga LLaMa.cpp??!
-
Learn x86-64 assembly by writing a GUI from scratch
Yeah. I'm going to be helping to work on expanding CI for OpenBlas and have been diving into this stuff lately. See the discussion in this closed OpenBlas issue gh-1968 [0] for instance. OpenBlas's Skylake kernels do rely on intrinsics [1] for compilers that support them, but there's a wide range of architectures to support, and when hand-tuned assembly kernels work better, that's what are used. For example, [2].
[0] https://github.com/xianyi/OpenBLAS/issues/1968
[1] https://github.com/xianyi/OpenBLAS/blob/develop/kernel/x86_6...
[2] https://github.com/xianyi/OpenBLAS/blob/23693f09a26ffd8b60eb...
-
AI’s compute fragmentation: what matrix multiplication teaches us
We'll have to wait until part 2 to see what they are actually proposing, but they are trying to solve a real problem. To get a sense of things check out the handwritten assembly kernels in OpenBlas [0]. Note the level of granularity. There are micro-optimized implementations for specific chipsets.
If progress in ML will be aided by a proliferation of hyper-specialized hardware, then there really is a scalability issue around developing optimized matmul routines for each specialized chip. To be able to develop a custom ASIC for a particular application and then easily generate the necessary matrix libraries without having to write hand-crafted assembly for each specific case seems like it could be very powerful.
-
The Bitter Truth: Python 3.11 vs Cython vs C++ Performance for Simulations
There isn't any fortran code in the repo there itself but numpy itself can be linked with several numeric libraries. If you look through the wheels for numpy available on pypi, all the latest ones are packaged with OpenBLAS which uses Fortran quite a bit: https://github.com/xianyi/OpenBLAS
- Optimizing compilers reload vector constants needlessly
-
Just a quick question, can a programming language be as fast as C++ and efficient with as simple syntax like Python?
Sure - write functions in another language, export C bindings, and then call those functions from Python. An example is NumPy - a lot of its linear algebra functions are implemented in C and Fortran.
-
CL-AUTOWRAP generated (C)BLAS wrapper in QUICKLISP
Is there a canonical (C)BLAS header file? I've been using the one provided by netlib, however OpenBLAS also provides a cblas.h and this also defines some additional functions such as cblas_crotg and cblas_zrotg. What about versioning for header files?
- Russia to Legalize Software Piracy
- Fork() is evil; vfork() is goodness; afork() would be better; clone() is stupid
-
Benchmarking the Apple M1 Max
I used OpenBLAS on my cheap last-generation AMD Ryzen 7 4700U laptop like so:
git clone https://github.com/xianyi/OpenBLAS
Eigen
We haven't tracked posts mentioning Eigen yet.
Tracking mentions began in Dec 2020.
What are some alternatives?
GLM - OpenGL Mathematics (GLM)
blaze
ceres-solver - A large scale non-linear optimization library
cblas - Netlib's C BLAS wrapper: http://www.netlib.org/blas/#_cblas
Boost.Multiprecision - Boost.Multiprecision
CGal - The public CGAL repository, see the README below
ExprTK - C++ Mathematical Expression Parsing And Evaluation Library https://www.partow.net/programming/exprtk/index.html
QuantLib - The QuantLib C++ library