Browse Source

Doc - Időmérés

master
Daniel Gyulai 3 years ago
parent
commit
1b28dbe728
  1. 24
      Primitives/primitives.md

24
Primitives/primitives.md

@ -135,3 +135,27 @@ IF pred[ID] == 1 THEN
ELSE
data[prefSum[ID]] = VALUE
```
## 5. Időmérés
Megoldás során a feladatkiírásban megadott kódot használtam. A host kód mérésére szolgáló Timer osztály a Common.cpp állományba került, az OpenCL device kód futási idejének mérésére szolgáló segédfüggvény pedig az OpenCLHandler osztály egyik függvénye lett. A mérés során az alábbi kerneleket, illetve a hozzájuk tartozó host kódot futtattam;
* Square - 4096 elemű vektor
* Hisztogram 1 - globális, 4096 elemű vektor, 32 elemű értékkészlet
* Hisztogram 2 - lokális, 4096 elemű vektor, 32 elemű értékkészlet
* Redukció - 1024 elemű vektor
* Exkluzív scan - 1024 elemű vektor
* Compact - 1024 elemű vektor
Az alábbi táblázat a mérési eredményeket szemlélteti;
| kernel | CPU (ms) | GPU (ms) |
| ----------- | ------ | ------ |
| Square | 1.2394 | 0.006304 |
| Hisztogram 1 | 0.23674 | 0.006432 |
| Hisztogram 2 | 0.2357 | 0.004096 |
| Redukció | 0.01558 | 0.00784 |
| Exkluzív scan | 8.0889 | 0.013184 |
| Compact | 0.17338 | 0.00432 |
Az eredményekből is látszik, hogy valóban nagy méretű sebességnövekedés érhető el masszív párhuzamosítással.
Loading…
Cancel
Save