Different implementations of matrix multiplication optimized for x86 machines using AVX-256 instructions.
- CMake (version 3.10 or higher)
- A C++ compiler with AVX2 support
- Windows: Visual Studio with C++ workload or MinGW-w64
- Linux/MacOS: GCC or Clang
- Create a build directory:
mkdir build
cd build- Configure with CMake:
cmake ..- Build the project:
- On Windows with Visual Studio:
cmake --build . --config Release- On Linux/MacOS:
makeThe executable will be created in:
- Windows:
build/bin/Release/dgemm_exe.exe - Linux/MacOS:
build/dgemm_exe
Simply run the executable:
- Windows:
.\bin\Release\dgemm_exe.exe - Linux/MacOS:
./dgemm_exe
The program will perform matrix multiplication performance tests using different implementations and display the results.
- Optimized matrix multiplication using AVX-256 instructions
- Performance comparison between different implementations
- Automatic matrix generation for testing
- Performance metrics calculation
- Uses C++11 standard
- Implements AVX2 and FMA instructions for optimal performance
- Includes both debug and release configurations
- Employs Link Time Optimization (LTO) when supported