https://github.com/njmarko/tbb-matrix-multiplication
Parallel matrix multiplication using Intel TBB library
https://github.com/njmarko/tbb-matrix-multiplication
avx2 intel-compiler intel-tbb matrix-multiplication-parallel matrix-transpose parallel-programming tbb
Last synced: 3 months ago
JSON representation
Parallel matrix multiplication using Intel TBB library
- Host: GitHub
- URL: https://github.com/njmarko/tbb-matrix-multiplication
- Owner: njmarko
- Created: 2020-05-11T20:52:56.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-06-14T10:29:34.000Z (almost 3 years ago)
- Last Synced: 2025-01-13T03:14:40.417Z (4 months ago)
- Topics: avx2, intel-compiler, intel-tbb, matrix-multiplication-parallel, matrix-transpose, parallel-programming, tbb
- Language: HTML
- Homepage:
- Size: 36 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# tbb-matrix-multiplication
Parallel matrix multiplication using Intel TBB library. This approached achieved the fastest running time in the Parallel programming class in 2020.## Solution
- Intel C++ compiler v18
- Second matrix was transposed
- Enables vectorization
- Better cache efficiency
- AVX 256 instructions
- Doubles the speed of vectorized functions compared to the VS compiler
- Uses 256bit registers
- std::inner_product
- Standard library function that is already optimized and vectorizes pretty well
- Tbb tasks achieved the best time
- Tree like hierarchy was created with tasks## Hardware Specification
- Windows 10
- Intel i7 9750h processor (6 cores, 12 logical) @2.56GHz (4.5GHz boost)
- Nvidia GTX1660TI
- 16GB ddr4 ram (dual channel)
- 512 GB M2-SSD## Results
![]()
Ilustration 1 - Achieved results.
![]()
Ilustration 2 - Execution time.
![]()
Ilustration 3 - Speedup compared to serial baseline.