1 / 5

Domácí úkol

Domácí úkol. 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

Download Presentation

Domácí úkol

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Domácí úkol NPRG054 Vývoj vysoce výkonného software - 2012/2013 David Bednárek

  2. 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++ NPRG054 Vývoj vysoce výkonného software - 2012/2013 David Bednárek

  3. Domácí úkol č. 2 • 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; • boolget(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++ NPRG054 Vývoj vysoce výkonného software - 2012/2013 David Bednárek

  4. DÚ 1 – porovnání výsledků NPRG054 Vývoj vysoce výkonného software - 2012/2013 David Bednárek

  5. DÚ2 NPRG054 Vývoj vysoce výkonného software - 2012/2013 David Bednárek

More Related