Knowledge base: Warsaw University of Technology

Settings and your account

Back

Improving the performance of calculations in neural networks using CUDA technology and numerical libraries

Kamil Konrad Frydlewicz

Abstract

The purpose of this thesis was to implement solutions improving the performance of calculations in artificial neural networks with the usage of various digital libraries as well as comparing some of them. A neural network recognizing hand-written Arabic numerals was used as a representative pattern. We worked on libraries using multithreading and hardware acceleration based on vector units in CPU – SSE, as well as library using graphic card and created by Nvidia – CUDA technology. At the beginning we tested the basic calculation of outputs for given inputs. Subsequently the process of learning the network was examined – which steps could be run in parallel and when it is cost-efficient. For the concrete model of the neural network we answered which library should be used along with which parameters to run the process of learning in the most efficient manner. In the next step an algorithm of learning was modified so that it would use the whole series of inputs and setpoints vectors combined in matrices. It was assessed whether such a manipulation had a positive impact. At the very end we compared the time of the paralleled learning process on various structures of a neural network (from a small structure to a very big one).
Diploma type
Engineer's / Bachelor of Science
Diploma type
Engineer's thesis
Author
Kamil Konrad Frydlewicz (FEIT) Kamil Konrad Frydlewicz,, Faculty of Electronics and Information Technology (FEIT)
Title in Polish
Wspomaganie obliczeń w sieciach neuronowych przy użyciu technologii CUDA i bibliotek numerycznych
Supervisor
Paweł Wawrzyński (FEIT/ICS) Paweł Wawrzyński,, The Institute of Computer Science (FEIT/ICS)Faculty of Electronics and Information Technology (FEIT)
Certifying unit
Faculty of Electronics and Information Technology (FEIT)
Affiliation unit
The Institute of Computer Science (FEIT/ICS)
Study subject / specialization
, Informatyka (Computer Science)
Language
(pl) Polish
Status
Finished
Defense Date
22-02-2016
Issue date (year)
2016
Reviewers
Mariusz Kamola (FEIT/AK) Mariusz Kamola,, The Institute of Control and Computation Engineering (FEIT/AK)Faculty of Electronics and Information Technology (FEIT) Paweł Wawrzyński (FEIT/ICS) Paweł Wawrzyński,, The Institute of Computer Science (FEIT/ICS)Faculty of Electronics and Information Technology (FEIT)
Keywords in Polish
wspomaganie obliczeń, sieci neuronowe, technologia CUDA, wielowątkowość, jednostki wektorowe, przyspieszanie sprzętowe, rozpoznawanie znaków
Keywords in English
calculation aid, artificial neural networks, CUDA technology, multithreading, vector units, hardware acceleration, Arabic numerals recognition
Abstract in Polish
Celem niniejszej pracy dyplomowej było zaimplementowanie rozwiązań umożliwiających poprawę wydajności obliczeń wykonywanych w sztucznych sieciach neuronowych przy użyciu różnych bibliotek numerycznych, a także porównanie możliwości kilku z nich. Za przykład posłużyła skonstruowana na potrzeby pracy sieć rozpoznająca wpisywane odręcznie cyfry arabskie. Użyte zostały biblioteki wykorzystujące wielowątkowość oraz wspomaganie sprzętowe z użyciem jednostek wektorowych na procesorze – SSE, a także wykorzystujące kartę graficzną i stworzoną przez firmę Nvidia technologię CUDA. Na początku przetestowana została wydajność podstawowego obliczania wyjść dla zadanych wejść. Następnie zbadano proces uczenia sieci; które jego etapy można zrównoleglić i kiedy jest to opłacalne. Dla konkretnego modelu sieci neuronowej uzyskano odpowiedź, której biblioteki i przy jakich parametrach należy używać, by proces uczenia przebiegał jak najefektywniej. W kolejnym etapie zmodyfikowano algorytm uczenia tak, by korzystał on całej serii wektorów wejściowych i wartości zadanych łączonych w macierze. Oceniono, czy taki zabieg wpływa na poprawę wydajności. Na sam koniec porównano czas zrównoleglonego procesu uczenia na strukturach różnych sieci neuronowych – od małej do bardzo dużej.
File
  • File: 1
    frydlewicz_kamil-praca_inzynierska.pdf
Request a WCAG compliant version
Local fields
Identyfikator pracy APD: 9935

Uniform Resource Identifier
https://repo.pw.edu.pl/info/bachelor/WUT2e35c516312648ab8e30ff90edc432cc/
URN
urn:pw-repo:WUT2e35c516312648ab8e30ff90edc432cc

Confirmation
Are you sure?
Report incorrect data on this page