Comments (1)
Newer results:
cd Downloads/Nim
rm -rf laser
source /opt/intel/mkl/bin/mklvars.sh intel64
export OMP_NUM_THREADS=1
git clone --recursive git://github.com/numforge/laser
cd laser
git checkout dbfb31d
git submodule init
git submodule update
cd build
gedit benchmarks/third_party/blas.nim
gedit benchmarks/gemm/gemm_bench_float32.nim
gedit laser/primitives/matrix_multiplication/gemm_tiling.nim
export OMP_NUM_THREADS=72
rm -rf build
mkdir build
LD_LIBRARY_PATH=/opt/intel/compilers_and_libraries_2019.0.117/linux/mkl/lib/intel64_lin nim cpp --dynlibOverride:libmkl_intel_ilp64 --passL:"/opt/intel/compilers_and_libraries_2019.0.117/linux/mkl/lib/intel64_lin/libmkl_intel_ilp64.a -Wl,--no-as-needed -lmkl_intel_ilp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread -lm -ldl" --passC:"-D_GNU_SOURCE -L$MKLROOT/lib/intel64_lin -DMKL_ILP64 -m64" -r -d:release -d:openmp -o:build/bench_gemm benchmarks/gemm/gemm_bench_float32.nim
Results (OpenBLAS = MKL):
Hint: /home/laurae/Downloads/Nim/laser/build/bench_gemm [Exec]
A matrix shape: (M: 1920, N: 1920)
B matrix shape: (M: 1920, N: 1920)
Output shape: (M: 1920, N: 1920)
Required number of operations: 14155.776 millions
Required bytes: 29.491 MB
Arithmetic intensity: 480.000 FLOP/byte
Theoretical peak single-core: 179.200 GFLOP/s
Theoretical peak multi: 6451.200 GFLOP/s
Make sure to not bench Apple Accelerate or the default Linux BLAS.
OpenBLAS benchmark
Collected 10000 samples in 52.753 seconds
Average time: 3.492 ms
Stddev time: 0.736 ms
Min time: 3.162 ms
Max time: 31.532 ms
Perf: 4053.552 GFLOP/s
Laser production implementation
Collected 10000 samples in 131.145 seconds
Average time: 11.152 ms
Stddev time: 8.307 ms
Min time: 7.360 ms
Max time: 132.827 ms
Perf: 1269.368 GFLOP/s
PyTorch Glow: libjit matmul implementation (with AVX+FMA)
Collected 10000 samples in 2277.353 seconds
Average time: 227.735 ms
Stddev time: 4.743 ms
Min time: 224.159 ms
Max time: 249.707 ms
Perf: 62.159 GFLOP/s
MKL-DNN reference GEMM benchmark
Collected 10000 samples in 268.515 seconds
Average time: 24.684 ms
Stddev time: 6.915 ms
Min time: 21.277 ms
Max time: 86.476 ms
Perf: 573.477 GFLOP/s
MKL-DNN JIT AVX benchmark
Collected 10000 samples in 89.331 seconds
Average time: 6.755 ms
Stddev time: 4.773 ms
Min time: 5.215 ms
Max time: 77.110 ms
Perf: 2095.728 GFLOP/s
MKL-DNN JIT AVX512 benchmark
Collected 10000 samples in 61.314 seconds
Average time: 4.260 ms
Stddev time: 4.065 ms
Min time: 3.071 ms
Max time: 60.712 ms
Perf: 3322.757 GFLOP/s
Mean Relative Error compared to vendor BLAS: 4.056792022311129e-06
from laser.
Related Issues (20)
- Exponential: Dual Xeon Gold 6154 result HOT 3
- Create a benchmark script
- Transpose does not scale well with multithread
- Devel regression "object constructor needs an object type" HOT 1
- Fast image loading primitives
- Fused assignation shortcut
- [GEMM] Enhance serial implementation HOT 1
- gemm_strided: error: always_inline function '_mm256_setzero_pd' requires target feature 'xsave' HOT 1
- performance of gemm_strided vs numpy HOT 1
- System Profile Dual Xeon Gold 6154
- Regression on GEMM allocation HOT 3
- NUMA-aware memory allocation and computation
- [Lux] Multithreading for JIT code
- [GEMM] Significant performance regression (divided by 5) HOT 2
- [Gemm] Nim devel compiler gets stuck when compiling older commits HOT 1
- parallel reduction HOT 6
- [Showstopper regression] emit does not generate proper symbol HOT 1
- [Benchmarks] Cleanup fp_reduction_latency benchmarks
- Mysterious 2x perf regression on GEMM HOT 2
- performance of avx512 bit ops and popcounts HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from laser.