Způsob odevzdání: odesláním v příloze emailem na ds1@kam.mff.cuni.cz.
Velikosti matic: Měření proveďte pro matice velikosti 100 * 1.05^i, kde i=0,...108, máte-li dostatek paměti, pak i pro větší matice. Máte-li naopak nedostatek paměti,
pak to vyzkoušejte pro matice, co se vejdou do paměti.
Graf: Zobrazujte čas na prvek, tedy celkový čas transpozice dělený počtem prvků v dané matici (v nano-sekundách). Osu x udělejte v logaritmickém měřítku.
Měření: U malých matic bude čas jedné transpozice prakticky nezměřitelný. Proto je potřeba měřit několik hodně
transpozic za sebou. Jelikož nás zajímá chování cache, transponujte postupně matice ležící v různých oblastech paměti,
aby při po sobě jdoucích transpozicích už matice nebyly načteny v příslušné cache. Například si alokujte blok paměti cca 500MB, ten
rozdělte na matice a transponujte jednu po druhé.
Počítač: Použijte svůj oblíbený počítač, máte-li svůj, pak ten. Jeho parametry zašlete zároveň s výsledky (viz níže).
Kompilace: Pokud to lze, zapněte si optimalizaci kódu.
Možné rozšíření 1: Změřte též chování "cache-aware" algoritmu, který matici transponuje po blocích pevně zvolené velikosti.
Možné rozšíření 2: Vyzkoušejte chování algoritmů na maticích velikosti mocniny dvojky.
Jmeno: Michal Koucky Pocitac: genericky kancelarsky desktop CPU: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz RAM: 16GB Jazyk: C++ Nastavení kompilátoru: g++ -ansi -Wall -pedantic -lm -O3 Souhlasim se zverejnenim vysledku na webu: ano Pseudonym pro zverejneni na webu: XYZ