---
title: Raport do zadania 2
tags: ASK
author: Mateusz Reis
---
# Raport do zadania 2
### Autor: Mateusz Reis
### Numer indeksu: 316276
Konfiguracja
---
Informacje o systemie:
* Dystrybucja: Debian
* Jądro systemu: 5.3.0-53-generic
* Kompilator: gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
* Procesor: AMD A8-6500
* Liczba rdzeni: 4
Pamięć podręczna:
* L1d: 16 KiB, 4-drożny (per rdzeń), rozmiar linii 64B
* L2: 2048 KiB, 16-drożny (per rdzeń), rozmiar linii 64B
* L3: brak , ?-drożny (współdzielony), rozmiar linii 64B
Pamięć TLB:
* L1d: 4KiB strony, w pelni asocjacyjny, 64 wpisy
* L2: 4KiB strony, 8-drożny, 1024 wpisów
Informacje o pamięciach podręcznych uzyskano na podstawie wydruku programu
`x86info`.
Wyniki eksperymentów
---
Tabelka dla obydwu wersji transpozycji (wynik zostal usredniony na podstawie 10 pomiarow):
|Rozmiar macierzy| transpose0 | transpose1 |
|-|-|-|
|32x32(4 KB)|0.0000022|0.0000021|
|64x64(16 KB)|0.0000474|0.00001|
|128x128(64 KB)|0.0001657|0.0001516|
|256x256(256 KB)|0.0008754|0.0006565|
|512x512(1 MB)|0.0030436|0.0030674|
|1024x1024 (4 MB)| 0.0503474|0.01906|
|2048x2048 (16 MB)|0.198088|0.0749782|
|4096x4096 (64 MB)|0.949047|0.342491|
|8192x8192 (256 MB)|4.5963|1.66921|
|16384x16384 (1 GB)|49.9203|12.5608|
### Wykres
przedstawiajacy czas potrzebny do wykonania transpozycji(od 32x32 do 1024x1024):

:::danger
transpose0
:::
:::warning
transpose1
:::
:::success
Ostatni odcinek to przejscie z pamieci L2 do RAM
:::
Dalsza czesc wykresu (od 2048x2048 do 16384x16384):

Wnioski
---
Juz po przejsciu z pamieci L2 do pamieci RAM widac zdecydowana przewage wersji kafelkowej, wynika to z powolnego dzialania RAM-u.
Tabelka przestawiajaca wplyw rozmiaru kafelka na czas wykonania
|Rozmiar kafelka|1024x1024|2048x2048|4096x4096|8192x8192|
|-|-|-|-|-|-|-|
|16|0.01906|0.0749782|0.342491 |1.66921|
|32|0.019086|0.075264|0.333884|1.610321|
|64|0.019288|0.075303|0.342111|1.890360|
|128|0.019803|0.076324|0.578821|2.716412|
|256|0.019540|0.082523|0.865143|3.145549|