Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilRadek Veselý
1
1NPRG054 Vývoj vysoce výkonného software - 2012/2013 David Bednárek Domácí úkol
2
Referenční algoritmus for( i = 0; i < L; ++ i) for( j = 0; j < M; ++ j) { c[i][j] = false; for( k = 0; k < N; ++ k) c[i][j] |= a[i][k] & b[k][j]; } Toto není nejrychlejší algoritmus Nevyhovuje z hlediska cache Uložení po bitech umožňuje paralelní operace Násobení booleovských matic Datová struktura pro matici Plýtvání prostorem povoleno Očekávaný počet sloupců > 50 Rozměr určen předem Parametry konstruktoru Operace násobení Testovací mechanismus Naplnění/alokace matic Opakované provedení násobení Měření času Mimo standard C++ Domácí úkol č. 2 2NPRG054 Vývoj vysoce výkonného software - 2012/2013 David Bednárek
3
Předepsané rozhraní matice Umožňuje připojení k jinému testovacímu mechanismu class matrix { public: matrix(size_t m, size_t n); size_t vsize() const; size_t hsize() const; bool get(size_t i, size_t j) const; void set(size_t i, size_t j, bool e); void assign_mul( const matrix & a, const matrix & b); private: //... }; Neřešíme kompletnost a odolnost třídy (copy/move-metody apod.) Násobení booleovských matic Datová struktura pro matici Plýtvání prostorem povoleno Očekávaný počet sloupců > 50 Rozměr určen předem Parametry konstruktoru Operace násobení Testovací mechanismus Naplnění/alokace matic Opakované provedení násobení Měření času Mimo standard C++ Domácí úkol č. 2 3NPRG054 Vývoj vysoce výkonného software - 2012/2013 David Bednárek
4
DÚ 1 – porovnání výsledků 4NPRG054 Vývoj vysoce výkonného software - 2012/2013 David Bednárek
5
DÚ2 5NPRG054 Vývoj vysoce výkonného software - 2012/2013 David Bednárek
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.