Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/karm-patel/blocked_matrix_multiplication
Analysis of blocked matrix multiplication
https://github.com/karm-patel/blocked_matrix_multiplication
c perf python3
Last synced: 17 days ago
JSON representation
Analysis of blocked matrix multiplication
- Host: GitHub
- URL: https://github.com/karm-patel/blocked_matrix_multiplication
- Owner: karm-patel
- Created: 2022-10-09T09:23:05.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2022-10-20T09:25:40.000Z (about 2 years ago)
- Last Synced: 2024-10-29T20:51:09.447Z (2 months ago)
- Topics: c, perf, python3
- Language: Jupyter Notebook
- Homepage:
- Size: 7.57 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## What this repo contains
In this repo, we have analyzed 96 various versions of the blocked matrix multiplication programs on combinations of following factors.
1. Matrix size: 2048, 8192
2. Outer loop order (variants): ‘ijk’, ‘jik’, ‘jki’, ‘ikj’, ‘kij’, ‘kji’
3. Tile size: 4, 8, 16, 32, 64, 128, 256, 512Analysis contains various performance counters including but not limited to cache-misses, TLB misses, cpu cycles, branch instructions, etc. We use perforator CLI tool for analysis.
### Analysis Summary
![image](https://user-images.githubusercontent.com/59387624/196910151-276b9615-5f6d-4ef3-9486-8ee5df1f5598.png)
![image](https://user-images.githubusercontent.com/59387624/196910286-791060e7-397a-4c09-bfc9-111da1b98b02.png)
![image](https://user-images.githubusercontent.com/59387624/196910349-919b21f1-1966-49b4-99f0-060f952f96ee.png)
![image](https://user-images.githubusercontent.com/59387624/196910403-a131ffa7-646c-4bee-bcdf-9d8bf4c7d646.png)## How to use this code?
## Perforater installation
```bash
curl https://zyedidia.github.io/eget.sh | sh ./eget zyedidia/perforator
```
```bash
pip3 install regex pandas
```### DELETE FOLLOWING DIRECTORIES
out2048/
out8192/
csv/### RUN FOLLOWING PYTHON FILES IN SEQUENCE
1. genereate .out files in out2048/
```bash
python3 outgen2048.py
```2. generate csv files in csv/
```bash
python3 execout2048.py
```3. genereate .out files in out2048/
```bash
python3 outgen8192.py
```4. generate csv files in csv/
```bash
python3 execout8192.py
```### FOLLOWING COMMAND IS BEING EXECUTED
```bash
sudo ./perforator -e cpu-cycles,branch-misses,branch-instructions,cache-misses,dtlb-read-accesses,dtlb-read-accesses,dtlb-read-misses,dtlb-write-misses,l1d-read-accesses,l1d-read-misses,l1d-write-accesses,l1i-read-misses,ll-read-accesses,ll-read-misses,ll-write-accesses,ll-write-misses -r multiplication --csv ./out2048/v3_2048_32 > csv/v3_2048_32.csv
```