diff --git a/Primitives/primitives.md b/Primitives/primitives.md index 77f5d8e..b38476b 100644 --- a/Primitives/primitives.md +++ b/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; -``` \ No newline at end of file +``` + +A 2. feladathoz hasonlóan itt is feltételeztem, hogy a tömb mérete legfeljebb a workgroup megengedett maximális mérete. \ No newline at end of file