- Zaimplementować operację Hadamarda dla dwóch macierzy (iloczyn elementowy) za pomocą pdejścia:
- naiwnej z wykorzystaniem pamięci globalnej,
- naiwnej z wykorzystaniem pamięci współdzielonej,
- WMMA API.
- Zaimplementować normalizację każdej kolumny lub wiersza macierzy, czyli odejmowanie średniej i dzielenie przez odchylenie standardowe, gdzie każda z tych wartości jest wyznaczana dla każdej kolumny lub wiersza osobno. Implementacje przygotować w wariantach:
- wersja naiwna z wykorzystaniem pamięci globalnej,
- wersja naiwna z wykorzystaniem pamięci współdzielonej.
- Zaimplementować rozwiązanie wyznaczające sumę w każdym “tile”. W tym calu należy podzielić macierz na kafelki (o stałym rozmiarze np. 32x32), a następnie obliczyć sumę elementów w każdym kafelku. Implementacje przygotować w wariantach
- naiwnym z wykorzystaniem pamięci globalnej,
- tiling z wykorzystaniem pamięci współdzielonej,
- wykorzystaniem biblioteki cuBLAS za pomocą funkcji
cublasSasum.