Keeping high performance linear algebra computation accessible and open for all

Key facts

Investment Amount
Investment Year(s)
2023, 2024

OpenBLAS is a highly-optimized library for linear algebra calculations. This makes OpenBLAS an essential base technology of the NumPy and SciPy libraries, as well as of the R and Julia programming languages, making it an essential component to the leading open source scientific programming systems. Linear algebra is essential for many processes in mathematics, science, computer science, machine vision and machine learning, by enabling developers and researchers to perform computations extremely quickly.

Why is this important?

Linear algebra - or solving equations with the same unknown variables - is at the heart of many applications in science and engineering, whether simulating complex systems in physics or biochemistry, machine learning applications, or seemingly simple image transformations. OpenBLAS is currently the leading open-source implementation of an optimized linear algebra library. Given the wide usage of the Python programming language, many applications do not use OpenBLAS directly, but rely on features provided by the NumPy and/or SciPy packages, which in turn depend on OpenBLAS and enable a wide range of end-user applications. NumPy alone has an estimated user base of well over 5 million.

For statistics, machine learning, and scientific computing applications, both Julia and R - programming languages widely used in those domains along with Python - can be built using OpenBLAS. Individual applications range from specialized software in the CERN laboratory to photo editing add-ons for the popular open-source graphics editor GIMP. The NumPy website home page includes sections on domain-specific programs and elaborate use cases. These range from the very first image of a black hole to sports analytics to deep learning or tools for urban energy systems and digital fabrication.

OpenBLAS is critical and relevant to several domains of science and research due to its wide distribution across the Python, Julia and R programming languages. NumPy, a package that combines several mathematical functions used in science, is one of the packages that depends on OpenBLAS, as described above. Julia and R are also essential tools that are indispensable in research. Securing and improving OpenBLAS would therefore benefit quite a few scientific use cases and thus serves a public interest.

What are we funding?

Despite its wide usage across those industries, OpenBLAS is mantained and contributed to by relatively small team. This investment will focus on building sustainable improvements to the development, integration and testing of the library, as well as provide additional support to the maintainers of OpenBLAS and of SciPy as a key dependent project to achieve some strech goals to further improve the utility of the OpenBLAS library. Specifically, the work funded will include maintainance and build improvements, addressing bottlenecks and compatability, addressing some known issues, creating a benchmark and building in support for new CPU types and features.

More technologies

All technologies