7. cvičenie – základy CUDA 🔢

Úvod

Zdrojové súbory na cvičenie si stiahnite spoločne ako archív.

1. Veľkosť gridu a veľkosť bloku

Dokončite program nižšie podľa TODO komentárov. Aká je najlepšia konfigurácia gridu? Akej konfigurácii sa vyvarovať vzhľadom na výkon programu?

2. Prúdy

V programe nižšie sa robí výpočet na 200 poliach. Aj keď je tento výpočet vykonávaný na grafickej karte, jednotlivé výpočty a pamäťové presuny idú za sebou sekvenčne v predvolenom prúde (default stream). Upravte program tak, aby bolo každé pole spracované vo svojom samostatnom prúde.

3. Súčin matíc so zdieľanou pamäťou

Upravte program súčinu matíc z prednášky tak, aby využíval zdieľanú pamäť. Cieľom je rozdeliť veľkú maticu na dlažice, skopírovať dáta z matíc do zdieľanej pamäte a medzivýsledok počítať zo zdieľanej pamäte v rámci jedného bloku vlákien.