The Intel SIMD Instruction Microbenchmark Suite is a collection of microbenchmarks designed to evaluate and debug various Intel SIMD instructions. The suite includes a total of 15 benchmarks covering instructions such as AMX, AVX, AVX2, AVX512, VNNI, VNNI512, SSE, RDTSC, PAUSE, and more. These benchmarks are primarily used for debugging xsave/xrestor related issues.
- Provides a comprehensive set of microbenchmarks for Intel SIMD instructions.
- Covers a range of instruction sets, including AMX, AVX, AVX2, AVX512, VNNI, VNNI512, SSE, RDTSC, PAUSE, and more.
- Assists in debugging xsave/xrestor related problems.
- Lightweight and easy to use.
- Open-source and freely available.
These instructions will help you get a copy of the Intel SIMD Instruction Microbenchmark Suite up and running on your local machine for development and testing purposes.
- C/C++ compiler with support for the desired SIMD instruction sets.
- CMake and make installed.
Clone the repository to your local machine:
git clone https://github.com/intel-sandbox/workload-xsave.git
Enter the project directory:
cd workload-xsave
The CMakeLists.txt is capable of selecting the appropriate source files for compilation based on the instruction sets supported by the target CPU. Build the benchmarks using CMake:
mkdir build
cd build
cmake ..
make
Build the benchmarks using Make:
make
Or, if your platform is not support all SIMD feature, you can try
DEBUG=1 make
Run the benchmarks:
usage: ./yogini [OPTIONS]
./yogini runs some simple micro workloads
-w, --workload [AVX,AVX2,AVX512,AMX,MEM,memcpy,SSE,VNNI,VNNI512,UMWAIT,TPAUSE,PAUSE,RDTSC]
-r, --repeat, each instance needs to be run
-b, --break_reason, [yield/sleep/trap/signal/futex]Available workloads: AMX memcpy MEM SSE RDTSC PAUSE DOTPROD VNNI512 AVX512_BF16 AVX2 AVX
Contributions are welcome and encouraged! If you would like to contribute to the Intel SIMD Instruction Microbenchmark Suite, please follow these steps:
Mention any contributors or references you have used for this project. Contact For any questions or suggestions regarding the Intel SIMD Instruction Microbenchmark Suite, please contact [Yi Sun [email protected]].