Browse Source

Doc - ExScan2

master
Daniel Gyulai 3 years ago
parent
commit
ced408f163
  1. 13
      Primitives/primitives.md

13
Primitives/primitives.md

@ -1,6 +1,6 @@
# Párhuzamos primitívek
## Hisztogram számítás
## 1. Hisztogram számítás
A feladathoz tartozó host kód a `primitives/Histogram.cpp` fájlban található.
@ -87,13 +87,13 @@ hisztogram számtást!**
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
## 2. Ö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
## 3. Exkluzív prefix összeg scan operátorral
A feladathoz tartozó host kód a `primitives/ExclusiveScan.cpp` fájlban található.
A feladathoz tartozó host kód a `primitives/ExclusiveScan.cpp` fájlban található. Az implementáció során a programs.cl forrásfájl pszeudokódja alapján dolgoztam, kicsit módosítva azt egy plusz barrier hozzáadásával a FOR ciklusban;
```
ID := get_global_id(0)
@ -105,9 +105,12 @@ data[ID] = VAL
FOR s = 1; s < get_global_size(0); s *= 2 DO:
tmp := data[ID]
BARRIER
IF ( ID + s < get_global_size(0) THEN
data[ID + s] += tmp;
BARRIER
IF(ID = 0) THEN data[ID] = 0;
```
```
A 2. feladathoz hasonlóan itt is feltételeztem, hogy a tömb mérete legfeljebb a workgroup megengedett maximális mérete.
Loading…
Cancel
Save