A feladathoz tartozó host kód a `primitives/Histogram.cpp` fájlban található.
### Globális memória
Az implementációban csak a globális memória kerül felhasználásra, az alábbi pszeudokód szerint:
@ -11,7 +13,7 @@
histogram[data[id]] := histogram[data[id]] + 1
```
A feladathoz tartozó kód a `primitives/Histogram.cpp` fájlban találhatóak.
**1. Vizsgálja meg, hogy mi történik szinkronizáció nélkül! Helyes-e a kiszámolt eredmény?**
@ -84,3 +86,28 @@ hisztogram számtást!**
| **global** | 0.00784 ms | 0.0064 ms | 0.0064 ms | 0.005952 ms |
A futási időkből látszik, hogy a lokális memóriát használó kernel minden értékkészletre gyorsabb, viszont a lokális és globális kernelek is gyorsabban futnak, ha ez az értékkészlet nagyobb.
## Összegzés redukcióval
A feladathoz tartozó host kód a `primitives/ReduceAdd.cpp` fájlban található. Az implementáció során a programs.cl forrásfájl pszeudokódja alapján dolgoztam, és feltételeztem, hogy a tömb mérete legfeljebb a workgroup megengedett maximális mérete.
## Exkluzív prefix összeg scan operátorral
A feladathoz tartozó host kód a `primitives/ExclusiveScan.cpp` fájlban található.