To dość szalone, jak mnożenie macierzy, które jest tak prostą operacją, może mieć taką głębię i złożoność, gdy próbujesz uczynić je ekstremalnie szybkim. Wiele z najbardziej zauważalnych ulepszeń w chipach Nvidii w ciągu ostatnich kilku generacji ma na celu wyłącznie przyspieszenie mnożenia macierzy. Na przykład w B200 masz: - Rdzenie tensorowe (koprocesory tylko do mnożenia macierzy). Mogą obsługiwać większe kafelki niż poprzednie generacje. - Pamięć tensorowa, nowa pamięć podręczna tylko do przechowywania pośrednich wyników rdzeni tensorowych. - Akcelerator pamięci tensorowej (TMA), sprzęt (wprowadzony w H100) tylko do asynchronicznego przenoszenia pamięci dla rdzeni tensorowych. A potem otrzymujesz wiele złożoności z całego oprogramowania i abstrakcji, które musisz zorganizować, aby efektywnie zarządzać tym całym sprzętem.