1. Zaimplementować operację Hadamarda dla dwóch macierzy (iloczyn elementowy) za pomocą pdejścia:
    1. naiwnej z wykorzystaniem pamięci globalnej,
    2. naiwnej z wykorzystaniem pamięci współdzielonej,
    3. WMMA API.
  2. 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:
    1. wersja naiwna z wykorzystaniem pamięci globalnej,
    2. wersja naiwna z wykorzystaniem pamięci współdzielonej.
  3. 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
    1. naiwnym z wykorzystaniem pamięci globalnej,
    2. tiling z wykorzystaniem pamięci współdzielonej,
    3. wykorzystaniem biblioteki cuBLAS za pomocą funkcji cublasSasum.