MKL(Math Kernel Library)은 선형 대수 및 수치 계산에 특화되어있는 상용 소프트웨어로, BLAS, LAPACK, FFT, 벡터 수학 등의 고성능 함수를 제공한다. Intel에서 라이선스를 구입해야 하지만, 무료로 사용할 수 있는 비상업용 라이선스도 있긴 하다. MKL은 다중 스레드를 지원하며, Intel 프로세서에서 최적화되어 있어 높은 성능을 제공한다.
GSL(GNU Scientific Library)은 무료로 배포되어 있고, 다양한 수학적 함수 및 알고리즘을 제공한다. 선형 대수, 특수 함수, 미분 방정식 해법, 푸리에 변환 등을 포함한다. GSL은 특정 하드웨어에 최적화되어 있지 않으며, MKL만큼의 성능을 제공하지는 않을 수 있다. 그러나 일반적인 수치 계산 작업에 대해 충분한 성능을 제공한다.
ATLAS (Automatically Tuned Linear Algebra Software)는 다양한 컴퓨터 아키텍처에서 효율적으로 선형 대수 연산을 수행하기 위한 널리 사용되는 오픈 라이센스 소프트웨어 라이브러리이다. ATLAS의 주요 기능 중 하나는 하드웨어의 특성에 자동으로 적응하는 능력이다. ATLAS는 특정 시스템의 특성에 맞게 알고리즘과 구현을 조정하는 정교한 튜닝 프로세스를 사용한다. 이를 통해 ATLAS는 수동 개입 없이 다양한 하드웨어 플랫폼에서 높은 성능을 달성할 수 있다. ATLAS는 행렬-행렬 곱셈, 행렬-벡터 곱셈, 행렬 분해(LU, QR 등)와 같은 기본 선형 대수 연산의 최적화된 구현을 제공한다. BLAS와 일부 LAPACK 기능을 포함한다.
BLAS(Basic Linear Algebra Subprograms)는 기본적인 선형 대수 연산을 수행하는 함수 모음이다. 이러한 함수는 행렬-벡터 곱셈, 행렬-행렬 곱셈, 벡터 내적 등과 같은 기본적인 선형 대수 연산을 포함한다. 특히 하드웨어 아키텍처에 따라 최적화된 버전이 있어서, BLAS를 사용하면 특정 플랫폼에서 최상의 성능을 얻을 수 있다. 또한 BLAS는 많은 행렬 및 벡터 연산을 단일 함수 호출로 제공하여 코드를 간결하고 이해하기 쉽게 만들어 준다.
CBLAS(Blas Interface to C)는 BLAS를 C 언어로 사용할 수 있도록 한 인터페이스다.
LAPACK는 BLAS보다 더 높은 수준의 기능을 제공한다. 주로 선형 시스템 해결, 행렬 분해, 고유값과 고유벡터 계산 등과 같이 고급 선형 대수 연산을 다룬다. 하지만 병렬처리를 지원하지 않고, 순차적인 방식으로 작동한다.
ScaLAPACK은 LAPACK의 확장으로, 병렬 처리를 위한 행렬 분할 및 병렬 알고리즘을 제공한다. MPI(Message Passing Interface)와 같은 병렬 프로그래밍 모델을 사용하여 병렬 처리를 구현하기 때문에 대규모 데이터를 다룰 때 연산을 가속화할 수 있다.