1 Zastosowanie technologii CUDA w sztucznej inteligencjiZachodniopomorski Uniwersytet Technologiczny w Szczecinie WYDZIAŁ INFORMATYKI Zastosowanie technologii CUDA w sztucznej inteligencji Juliusz Romanowski
2 Opis Prezentacji Spis treści pracy dyplomowej
3 Spis treści pracy dyplomowejRównoległe przetwarzanie z zastosowaniem GPU Jednostki obliczeniowe GPU Technologie GPGPU CUDA Sztuczne sieci neuronowe Model neuronu Architektury sieci neuronowych Zastosowania sztucznych sieci neuronowych Implementacja sztucznych sieci neuronowych na GPU Biblioteka CNL Ogólny projekt aplikacji Część CPU Część GPU Przebieg procesów na MLP Implementacja MLP na GPU Użyte optymalizacje kerneli Testy implementacji sieci MLP Wpływ parametrów sieci na jakość uczenia Wpływ optymalizacji na wydajność kerneli Porównanie wydajności uczenia wersji CPU i GPU Możliwości rozwoju programu
4 Motywacja Zwiększenie wydajności komputerów domowychIstniejące produkty wspierające GPU Szybki rozwój technologii GPGPU Szybki wzrost wydajności GPU Sieci neuronowe w algorytmach równoległych Optymalizacja w wielu płaszczyznach
5 GPU, GPGPU, cz. 1 Wzrost mocy obliczeniowej GPU i CPUŹródło: CUDA Programming Guide 3.0 Wzrost mocy obliczeniowej GPU i CPU Wzrost przepustowości pamięci i ilości procesorów
6 GPU, GPGPU, cz. 2 Model fizyczny CPU i GPUŹródło: CUDA Programming Guide 3.0 Model fizyczny CPU i GPU Niewiele jednostek kontroli przepływu Niewielki cache Wiele procesorów
7 GPU, GPGPU, cz. 3 Typy pamięci: Pamięć globalna Pamięć constantPamięć lokalna Pamięć dzielona Pamięć teksturowa Rejestry Wymagane specjalne sposoby dostępu Źródło: CUDA Programming Guide 3.0
8 GPU, GPGPU, cz. 3 Architektura CUDADodatkowe biblioteki (CUFFT, CUBLAS) Interfejs CUDA Runtime Interfejs Driver API Źródło: CUDA Programming Guide 3.0
9 GPU, GPGPU, cz. 4 Podział pracy na bloki i wątki Gridy, bloki, wątkiŹródło: CUDA Programming Guide 3.0 Podział pracy na bloki i wątki Gridy, bloki, wątki Wymiary gridu, wymiary bloku Minimalne wymiary (wydajność)
10 Sieci neuronowe, cz. 1 Schemat sztucznego neuronu Funkcja aktywacjiŹródło: Schemat sztucznego neuronu Funkcja aktywacji Neuron liniowy Perceptron Rosenblatta Neuron sigmoidalny
11 Sieci neuronowe, cz. 2 Architektury sieci neuronowych JednokierunkoweSieci radialne Sieci Hopfielda
12 Sieci neuronowe, cz. 3 Zrównoleglenie operacji na sieciach neuronowych: Operacje macierzowe – uruchamianie i uczenie backpropagation Każdy wątek przypisany do neuronu Nie można wykonywać równolegle kilku warstw Istniejące implementacje SN przy użyciu GPGPU