1
0
mirror of https://github.com/andre-wojtowicz/blas-benchmarks synced 2024-07-22 15:40:29 +02:00
blas-benchmarks/README.md
Andrzej Wójtowicz ac3bd1b699 added new nvidia gpus and intel cpu;
fixed gotoblas2 results;
added package versions
2016-05-31 00:00:52 +02:00

36 KiB

BLAS libraries benchmarks

Andrzej Wójtowicz

Document generation date: 2016-05-30 23:06:11

Table of Contents

  1. Configuration
  2. Results per host
  3. Results per library

Configuration

R software: Microsoft R Open (3.2.4).

Libraries:

CPU (single-threaded) CPU (multi-threaded) GPU
Netlib (debian package, blas 1.2.20110419, lapack 3.5.0) OpenBLAS (debian package, 0.2.12) NVIDIA cuBLAS (NVBLAS 6.5 + Intel MKL)
ATLAS (debian package, 3.10.2) ATLAS (dev branch, 3.11.38)
GotoBLAS2 (Survive fork, 3.141)
Intel MKL (part of RevoMath package, 3.2.4)
BLIS (dev branch, 0.2.0+/17.05.2016)

Hosts:

No. CPU GPU
1. Intel Core i5-4590 NVIDIA GeForce GT 430
2. Intel Core i5-4590 NVIDIA GeForce GTX 750 Ti
3. Intel Core i5-3570 -
4. Intel Core i3-2120 -
5. Intel Core i3-3120M -
6. Intel Core i5-3317U NVIDIA GeForce GT 630M

Benchmarks: Urbanek, Revolution, Gcbd.

Results per host

Intel Core i5-4590 + NVIDIA GeForce GT 430

Urbanek benchmark

2800x2800 cross-product matrix

Time in seconds - 10 runs - lower is better

Linear regr. over a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Eigenvalues of a 640x640 random matrix

Time in seconds - 10 runs - lower is better

Determinant of a 2500x2500 random matrix

Time in seconds - 10 runs - lower is better

Cholesky decomposition of a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Inverse of a 1600x1600 random matrix

Time in seconds - 10 runs - lower is better

Escoufier's method on a 45x45 matrix

Time in seconds - 10 runs - lower is better

Revolution benchmark

Matrix Multiply

Time in seconds - 10 runs - lower is better

Cholesky Factorization

Time in seconds - 10 runs - lower is better

Singular Value Deomposition

Time in seconds - 10 runs - lower is better

Principal Components Analysis

Time in seconds - 10 runs - lower is better

Linear Discriminant Analysis

Time in seconds - 10 runs - lower is better

Gcbd benchmark

Matrix Multiply

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

QR Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Singular Value Deomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Triangular Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Intel Core i5-4590 + NVIDIA GeForce GTX 750 Ti

Urbanek benchmark

2800x2800 cross-product matrix

Time in seconds - 10 runs - lower is better

Linear regr. over a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Eigenvalues of a 640x640 random matrix

Time in seconds - 10 runs - lower is better

Determinant of a 2500x2500 random matrix

Time in seconds - 10 runs - lower is better

Cholesky decomposition of a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Inverse of a 1600x1600 random matrix

Time in seconds - 10 runs - lower is better

Escoufier's method on a 45x45 matrix

Time in seconds - 10 runs - lower is better

Revolution benchmark

Matrix Multiply

Time in seconds - 10 runs - lower is better

Cholesky Factorization

Time in seconds - 10 runs - lower is better

Singular Value Deomposition

Time in seconds - 10 runs - lower is better

Principal Components Analysis

Time in seconds - 10 runs - lower is better

Linear Discriminant Analysis

Time in seconds - 10 runs - lower is better

Gcbd benchmark

Matrix Multiply

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

QR Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Singular Value Deomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Triangular Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Intel Core i5-3570

Urbanek benchmark

2800x2800 cross-product matrix

Time in seconds - 10 runs - lower is better

Linear regr. over a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Eigenvalues of a 640x640 random matrix

Time in seconds - 10 runs - lower is better

Determinant of a 2500x2500 random matrix

Time in seconds - 10 runs - lower is better

Cholesky decomposition of a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Inverse of a 1600x1600 random matrix

Time in seconds - 10 runs - lower is better

Escoufier's method on a 45x45 matrix

Time in seconds - 10 runs - lower is better

Revolution benchmark

Matrix Multiply

Time in seconds - 10 runs - lower is better

Cholesky Factorization

Time in seconds - 10 runs - lower is better

Singular Value Deomposition

Time in seconds - 10 runs - lower is better

Principal Components Analysis

Time in seconds - 10 runs - lower is better

Linear Discriminant Analysis

Time in seconds - 10 runs - lower is better

Gcbd benchmark

Matrix Multiply

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

QR Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Singular Value Deomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Triangular Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Intel Core i3-2120

Urbanek benchmark

2800x2800 cross-product matrix

Time in seconds - 10 runs - lower is better

Linear regr. over a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Eigenvalues of a 640x640 random matrix

Time in seconds - 10 runs - lower is better

Determinant of a 2500x2500 random matrix

Time in seconds - 10 runs - lower is better

Cholesky decomposition of a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Inverse of a 1600x1600 random matrix

Time in seconds - 10 runs - lower is better

Escoufier's method on a 45x45 matrix

Time in seconds - 10 runs - lower is better

Revolution benchmark

Matrix Multiply

Time in seconds - 10 runs - lower is better

Cholesky Factorization

Time in seconds - 10 runs - lower is better

Singular Value Deomposition

Time in seconds - 10 runs - lower is better

Principal Components Analysis

Time in seconds - 10 runs - lower is better

Linear Discriminant Analysis

Time in seconds - 10 runs - lower is better

Gcbd benchmark

Matrix Multiply

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

QR Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Singular Value Deomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Triangular Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Intel Core i3-3120M

Urbanek benchmark

2800x2800 cross-product matrix

Time in seconds - 10 runs - lower is better

Linear regr. over a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Eigenvalues of a 640x640 random matrix

Time in seconds - 10 runs - lower is better

Determinant of a 2500x2500 random matrix

Time in seconds - 10 runs - lower is better

Cholesky decomposition of a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Inverse of a 1600x1600 random matrix

Time in seconds - 10 runs - lower is better

Escoufier's method on a 45x45 matrix

Time in seconds - 10 runs - lower is better

Revolution benchmark

Matrix Multiply

Time in seconds - 10 runs - lower is better

Cholesky Factorization

Time in seconds - 10 runs - lower is better

Singular Value Deomposition

Time in seconds - 10 runs - lower is better

Principal Components Analysis

Time in seconds - 10 runs - lower is better

Linear Discriminant Analysis

Time in seconds - 10 runs - lower is better

Gcbd benchmark

Matrix Multiply

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

QR Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Singular Value Deomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Triangular Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Intel Core i5-3317U + NVIDIA GeForce GT 630M

Urbanek benchmark

2800x2800 cross-product matrix

Time in seconds - 10 runs - lower is better

Linear regr. over a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Eigenvalues of a 640x640 random matrix

Time in seconds - 10 runs - lower is better

Determinant of a 2500x2500 random matrix

Time in seconds - 10 runs - lower is better

Cholesky decomposition of a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Inverse of a 1600x1600 random matrix

Time in seconds - 10 runs - lower is better

Escoufier's method on a 45x45 matrix

Time in seconds - 10 runs - lower is better

Revolution benchmark

Matrix Multiply

Time in seconds - 10 runs - lower is better

Cholesky Factorization

Time in seconds - 10 runs - lower is better

Singular Value Deomposition

Time in seconds - 10 runs - lower is better

Principal Components Analysis

Time in seconds - 10 runs - lower is better

Linear Discriminant Analysis

Time in seconds - 10 runs - lower is better

Gcbd benchmark

Matrix Multiply

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

QR Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Singular Value Deomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Triangular Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Results per library

Netlib

Urbanek benchmark

2800x2800 cross-product matrix

Time in seconds - 10 runs - lower is better

Linear regr. over a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Eigenvalues of a 640x640 random matrix

Time in seconds - 10 runs - lower is better

Determinant of a 2500x2500 random matrix

Time in seconds - 10 runs - lower is better

Cholesky decomposition of a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Inverse of a 1600x1600 random matrix

Time in seconds - 10 runs - lower is better

Escoufier's method on a 45x45 matrix

Time in seconds - 10 runs - lower is better

Revolution benchmark

Matrix Multiply

Time in seconds - 10 runs - lower is better

Cholesky Factorization

Time in seconds - 10 runs - lower is better

Singular Value Deomposition

Time in seconds - 10 runs - lower is better

Principal Components Analysis

Time in seconds - 10 runs - lower is better

Linear Discriminant Analysis

Time in seconds - 10 runs - lower is better

Gcbd benchmark

Matrix Multiply

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

QR Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Singular Value Deomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Triangular Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

ATLAS (st)

Urbanek benchmark

2800x2800 cross-product matrix

Time in seconds - 10 runs - lower is better

Linear regr. over a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Eigenvalues of a 640x640 random matrix

Time in seconds - 10 runs - lower is better

Determinant of a 2500x2500 random matrix

Time in seconds - 10 runs - lower is better

Cholesky decomposition of a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Inverse of a 1600x1600 random matrix

Time in seconds - 10 runs - lower is better

Escoufier's method on a 45x45 matrix

Time in seconds - 10 runs - lower is better

Revolution benchmark

Matrix Multiply

Time in seconds - 10 runs - lower is better

Cholesky Factorization

Time in seconds - 10 runs - lower is better

Singular Value Deomposition

Time in seconds - 10 runs - lower is better

Principal Components Analysis

Time in seconds - 10 runs - lower is better

Linear Discriminant Analysis

Time in seconds - 10 runs - lower is better

Gcbd benchmark

Matrix Multiply

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

QR Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Singular Value Deomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Triangular Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

OpenBLAS

Urbanek benchmark

2800x2800 cross-product matrix

Time in seconds - 10 runs - lower is better

Linear regr. over a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Eigenvalues of a 640x640 random matrix

Time in seconds - 10 runs - lower is better

Determinant of a 2500x2500 random matrix

Time in seconds - 10 runs - lower is better

Cholesky decomposition of a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Inverse of a 1600x1600 random matrix

Time in seconds - 10 runs - lower is better

Escoufier's method on a 45x45 matrix

Time in seconds - 10 runs - lower is better

Revolution benchmark

Matrix Multiply

Time in seconds - 10 runs - lower is better

Cholesky Factorization

Time in seconds - 10 runs - lower is better

Singular Value Deomposition

Time in seconds - 10 runs - lower is better

Principal Components Analysis

Time in seconds - 10 runs - lower is better

Linear Discriminant Analysis

Time in seconds - 10 runs - lower is better

Gcbd benchmark

Matrix Multiply

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

QR Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Singular Value Deomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Triangular Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

ATLAS (mt)

Urbanek benchmark

2800x2800 cross-product matrix

Time in seconds - 10 runs - lower is better

Linear regr. over a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Eigenvalues of a 640x640 random matrix

Time in seconds - 10 runs - lower is better

Determinant of a 2500x2500 random matrix

Time in seconds - 10 runs - lower is better

Cholesky decomposition of a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Inverse of a 1600x1600 random matrix

Time in seconds - 10 runs - lower is better

Escoufier's method on a 45x45 matrix

Time in seconds - 10 runs - lower is better

Revolution benchmark

Matrix Multiply

Time in seconds - 10 runs - lower is better

Cholesky Factorization

Time in seconds - 10 runs - lower is better

Singular Value Deomposition

Time in seconds - 10 runs - lower is better

Principal Components Analysis

Time in seconds - 10 runs - lower is better

Linear Discriminant Analysis

Time in seconds - 10 runs - lower is better

Gcbd benchmark

Matrix Multiply

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

QR Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Singular Value Deomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Triangular Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

GotoBLAS2

Urbanek benchmark

2800x2800 cross-product matrix

Time in seconds - 10 runs - lower is better

Linear regr. over a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Eigenvalues of a 640x640 random matrix

Time in seconds - 10 runs - lower is better

Determinant of a 2500x2500 random matrix

Time in seconds - 10 runs - lower is better

Cholesky decomposition of a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Inverse of a 1600x1600 random matrix

Time in seconds - 10 runs - lower is better

Escoufier's method on a 45x45 matrix

Time in seconds - 10 runs - lower is better

Revolution benchmark

Matrix Multiply

Time in seconds - 10 runs - lower is better

Cholesky Factorization

Time in seconds - 10 runs - lower is better

Singular Value Deomposition

Time in seconds - 10 runs - lower is better

Principal Components Analysis

Time in seconds - 10 runs - lower is better

Linear Discriminant Analysis

Time in seconds - 10 runs - lower is better

Gcbd benchmark

Matrix Multiply

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

QR Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Singular Value Deomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Triangular Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

MKL

Urbanek benchmark

2800x2800 cross-product matrix

Time in seconds - 10 runs - lower is better

Linear regr. over a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Eigenvalues of a 640x640 random matrix

Time in seconds - 10 runs - lower is better

Determinant of a 2500x2500 random matrix

Time in seconds - 10 runs - lower is better

Cholesky decomposition of a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Inverse of a 1600x1600 random matrix

Time in seconds - 10 runs - lower is better

Escoufier's method on a 45x45 matrix

Time in seconds - 10 runs - lower is better

Revolution benchmark

Matrix Multiply

Time in seconds - 10 runs - lower is better

Cholesky Factorization

Time in seconds - 10 runs - lower is better

Singular Value Deomposition

Time in seconds - 10 runs - lower is better

Principal Components Analysis

Time in seconds - 10 runs - lower is better

Linear Discriminant Analysis

Time in seconds - 10 runs - lower is better

Gcbd benchmark

Matrix Multiply

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

QR Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Singular Value Deomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Triangular Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

BLIS

Urbanek benchmark

2800x2800 cross-product matrix

Time in seconds - 10 runs - lower is better

Linear regr. over a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Eigenvalues of a 640x640 random matrix

Time in seconds - 10 runs - lower is better

Determinant of a 2500x2500 random matrix

Time in seconds - 10 runs - lower is better

Cholesky decomposition of a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Inverse of a 1600x1600 random matrix

Time in seconds - 10 runs - lower is better

Escoufier's method on a 45x45 matrix

Time in seconds - 10 runs - lower is better

Revolution benchmark

Matrix Multiply

Time in seconds - 10 runs - lower is better

Cholesky Factorization

Time in seconds - 10 runs - lower is better

Singular Value Deomposition

Time in seconds - 10 runs - lower is better

Principal Components Analysis

Time in seconds - 10 runs - lower is better

Linear Discriminant Analysis

Time in seconds - 10 runs - lower is better

Gcbd benchmark

Matrix Multiply

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

QR Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Singular Value Deomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Triangular Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

cuBLAS

Urbanek benchmark

2800x2800 cross-product matrix

Time in seconds - 10 runs - lower is better

Linear regr. over a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Eigenvalues of a 640x640 random matrix

Time in seconds - 10 runs - lower is better

Determinant of a 2500x2500 random matrix

Time in seconds - 10 runs - lower is better

Cholesky decomposition of a 3000x3000 matrix

Time in seconds - 10 runs - lower is better

Inverse of a 1600x1600 random matrix

Time in seconds - 10 runs - lower is better

Escoufier's method on a 45x45 matrix

Time in seconds - 10 runs - lower is better

Revolution benchmark

Matrix Multiply

Time in seconds - 10 runs - lower is better

Cholesky Factorization

Time in seconds - 10 runs - lower is better

Singular Value Deomposition

Time in seconds - 10 runs - lower is better

Principal Components Analysis

Time in seconds - 10 runs - lower is better

Linear Discriminant Analysis

Time in seconds - 10 runs - lower is better

Gcbd benchmark

Matrix Multiply

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

QR Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Singular Value Deomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better

Triangular Decomposition

Time in seconds regarding matrix size - right panel on log scale - from 50 to 5 runs - lower is better