OpenBLAS
ceres-solver
Our great sponsors
OpenBLAS | ceres-solver | |
---|---|---|
21 | 8 | |
5,886 | 3,552 | |
2.0% | 2.4% | |
9.8 | 8.3 | |
4 days ago | 4 days ago | |
C | C++ | |
BSD 3-clause "New" or "Revised" License | 3-Clause BSD 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
ceres-solver
-
The Elements of Differentiable Programming
I can't reply to the guy saying julia is the only one. But there are others.
Ceres uses dual numbers
https://github.com/ceres-solver/ceres-solver/blob/master/inc...
This library from google is used everywhere in robotics, so it's hardly some backwater little side project.
So does c++ autodiff
- A large scale non-linear optimization library
-
Photometric Bundle Adjustment library?
http://ceres-solver.org (if you want to implement it manually, see tutorials & openCV sfm module)
-
Gradients Without Backpropagation
http://ceres-solver.org/ works well, in my experience.
-
Is there a library for non-linear optimization in Rust?
Hey, people! I was wondering if there is a library for non-linear optimization, equivalent to that for Ceres Solver that you have in C++?
-
What libraries do you miss from other languages?
I've not yet seen anything comparable to http://ceres-solver.org/
What are some alternatives?
Eigen
GLM - OpenGL Mathematics (GLM)
cblas - Netlib's C BLAS wrapper: http://www.netlib.org/blas/#_cblas
casadi - CasADi is a symbolic framework for numeric optimization implementing automatic differentiation in forward and reverse modes on sparse matrix-valued computational graphs. It supports self-contained C-code generation and interfaces state-of-the-art codes such as SUNDIALS, IPOPT etc. It can be used from C++, Python or Matlab/Octave.
blaze
Boost.Multiprecision - Boost.Multiprecision
QuantLib - The QuantLib C++ library
CGal - The public CGAL repository, see the README below