SIMD-ускоренные математические ядра для вычисления расстояний, скалярных произведений и матричных операций с 15+ числовыми типами и привязками для Python, Rust, C/C++, JS, Swift и Go.
OpenMathLib/OpenBLAS
Оптимизированная библиотека BLAS и LAPACK с открытым исходным кодом для многих архитектур CPU, без поддержки GPU.
Open source альтернатива:Intel MKL
- Звёзды
- 7,669
- Форки
- 1,751
- Открытые issues
- 163
- Последний коммит
- 5 часов назад
Что это?
OpenBLAS — библиотека, реализующая процедуры BLAS (Basic Linear Algebra Subprograms) — стандартные низкоуровневые строительные блоки для операций с векторами и матрицами, которые используются в численном ПО. Она основана на GotoBLAS2 1.13 под лицензией BSD и также включает LAPACK — пакет линейной алгебры более высокого уровня — вместе с интерфейсом LAPACKE для C.
В библиотеку входят оптимизированные ядра для широкого спектра процессоров, включая поколения Intel x86-64 от Sandy Bridge до Sapphire Rapids, AMD Zen, ядра ARM64, такие как Neoverse и Cortex-A, а также POWER, IBM Z, векторные расширения RISC-V и LoongArch. Сборка с DYNAMIC_ARCH может включать несколько целевых архитектур в одну библиотеку и выбирать подходящие ядра во время выполнения. Для сборки используются make или CMake; поддерживается кросс-компиляция.
OpenBLAS работает в GNU/Linux, Windows (MinGW или Visual Studio), macOS и нескольких вариантах BSD, а также поддерживает WebAssembly. Число потоков можно задавать через переменные среды или функции времени выполнения.
Ключевые возможности
- 01Реализует BLAS и включает LAPACK с интерфейсом LAPACKE для C.
- 02Предоставляет оптимизированные ядра для множества процессоров x86, ARM64, POWER, IBM Z, RISC-V и LoongArch.
- 03Сборки DYNAMIC_ARCH включают несколько целевых архитектур CPU и выбирают ядра во время выполнения.
- 04Поддерживает сборку с помощью make и CMake, включая кросс-компиляцию.
- 05Число потоков можно настраивать через переменные среды или функции времени выполнения.
- 06Доступна в виде бинарных пакетов для Windows и через множество менеджеров пакетов.
Сценарии использования
- Ускорение вычислений с матрицами и векторами в научных вычислениях и численных библиотеках.
- Использование в качестве бэкенда BLAS/LAPACK для R, NumPy, SciPy и других численных стеков.
- Разработка высокопроизводительного кода линейной алгебры для встроенных и серверных CPU с разными архитектурами.
- Запуск численных задач в браузерах с помощью сборок WebAssembly.
Быстрый старт
- 1
Получите исходный код с GitHub (ветка по умолчанию — develop).
- 2
Соберите библиотеку с помощью make (CPU определяется автоматически).
make - 3
Установите её в выбранный каталог.
make install PREFIX=your_installation_directory
Что важно знать
- GPU не поддерживаются.
- Для сборки из исходного кода требуется компилятор C; некоторые целевые CPU поддерживаются только предварительно.
Темы
Частые вопросы
- Что такое OpenBLAS?
- Оптимизированная библиотека BLAS и LAPACK с открытым исходным кодом для многих архитектур CPU, без поддержки GPU. OpenBLAS — библиотека, реализующая процедуры BLAS (Basic Linear Algebra Subprograms) — стандартные низкоуровневые строительные блоки для операций с векторами и матрицами, которые используются в численном ПО. Она основана на GotoBLAS2 1.13 под лицензией BSD и также включает LAPACK — пакет линейной алгебры более высокого уровня — вместе с интерфейсом LAPACKE для C.
- OpenBLAS можно использовать бесплатно? Какая у него лицензия?
- OpenBLAS распространяется с открытым исходным кодом под лицензией BSD-3-Clause. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- OpenBLAS всё ещё поддерживается?
- Активно поддерживается. Последний коммит в OpenBLAS — 7 нояб. 2026 г..
- Для чего можно использовать OpenBLAS?
- Ускорение вычислений с матрицами и векторами в научных вычислениях и численных библиотеках. Использование в качестве бэкенда BLAS/LAPACK для R, NumPy, SciPy и других численных стеков. Разработка высокопроизводительного кода линейной алгебры для встроенных и серверных CPU с разными архитектурами. Запуск численных задач в браузерах с помощью сборок WebAssembly.
- Как установить OpenBLAS?
- Получите исходный код с GitHub (ветка по умолчанию — develop). Соберите библиотеку с помощью make (CPU определяется автоматически).: make Установите её в выбранный каталог.: make install PREFIX=your_installation_directory
- Где скачать OpenBLAS?
- Исходный код и инструкции по установке — на GitHub: https://github.com/OpenMathLib/OpenBLAS
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Базовый пакет Python для научных вычислений с быстрым N-мерным массивом в основе.
Header-only библиотека на C++20 для тензорных выражений в стиле NumPy, работающих на GPU NVIDIA или многопоточных CPU, с поддержкой слияния ядер.
Библиотека шаблонов CUDA C++ и DSL для Python для написания высокопроизводительных GEMM-ядер и других ядер линейной алгебры на GPU NVIDIA.
Базовая библиотека численных и научных вычислений для JavaScript и TypeScript, работающая в браузерах и Node.js.
Быстрый вычислитель выражений над массивами NumPy: обрабатывает выражения вроде 3*a+4*b частями, экономит память и использует несколько ядер.