Memory Bandwidth Benchmark
Overview
Memory Bandwidth Benchmark tool uses different memcpy() versions:
- standard one provided by the compiler
- assembler optimized versions
Output results are stored in ASCII format (formatted table) and if Gnuplot tool is available, a PNG is created with the graphical results.
Details
- Command line tool that can be customized via parameters.
- Compares different memcpy() implementations:
- standard one provided by the compiler
- MMX (only available in 32bits binary)
- SSE (only available in 32bits binary)
- AVX (only available in 32bits binary)
- Intel optimized AVX version
- Intel optimized AVX2 version
- asmlib (Agner Fog library)
- Output to ASCII text files (formatted table) and PNG graphs if Gnuplot is available:
- CPU name and caches are displayed in addition to the selected mode and memory buffer.
- Works with a memory buffer of 256MB and have 4 working modes:
- Fixed read: always reads from the same memory location.
- Buffer read: Cyclically uses the memory buffer.
- Fixed write: always writes to the same memory location.
- Buffer write: Cyclically uses the memory buffer.
- Available for Windows. Also compiles on Linux, makefile included and macOS (x86) although makefile is not provided.
- Developed in C++ (Visual Studio 2019).
Download
Last version: v3.10 (29-March-2021)
ChangeLog | Roadmap | zlib license
- Binaries
- 32bits and 64bits binaries for supported operating systems.
- Source code
- Source code and make files for VS2019+ and GNU C/C++ 4.x.
- Previous releases
- Get access to all releases repository.