Please use this identifier to cite or link to this item: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/17322
Title: Implementation and Acceleration of Neuron Simulator with CUDA C
Authors: Νεοφύτου, Αλέξανδρος
Σούντρης Δημήτριος
Keywords: NVIDIA
CUDA
Parallel Programming
Neuron Simulation
GPGPU
Parallelization
ADEX
STDP
in-silico experiment
Brian
Issue Date: 20-Jun-2019
Abstract: Η νευροεπιστήμη είναι η επιστημονική μελέτη του νευρικού συστήματος και της σχέσης των νευρώνων με τη συμπεριφορά και τη μάθηση. Η μεγαλύτερη προσπάθεια για τους νευροεπιστήμονες επικεντρώνεται στον εγκέφαλο, καθώς η αυξημένη κατανόησή του οδηγεί σε πιο σαφή κατανόηση της ανθρώπινης συνείδησης. Ενώ τα περισσότερα πειράματα στο παρελθόν διεξήχθησαν σε εξειδικευμένα εργαστήρια που μελετούσαν τμήματα πραγματικών εγκεφαλικών νευρώνων, στη σύγχρονη νευροεπιστήμη οι υπολογιστές χρησιμοποιούνται ευρέως για την προσομοίωση βιολογικών νευρωνικών δικτύων με μεγάλη λεπτομέρεια και πολυπλοκότητα. Αυτές οι προσομοιώσεις επιτρέπουν την απεικόνιση δικτύων μεγαλύτερου μεγέθους, βοηθώντας τους περαιτέρω στην έρευνά τους. Προκειμένου να συνεχιστεί η εξέλιξη του συγκεκριμένου επιστημονικού κλάδου, χρησιμοποιούνται ακόμα πιο ευρεία και σύνθετα δίκτυα νευρώνων σε προσομοιώσεις, δημιουργώντας την ανάγκη για επιτάχυνση προσομοίωσης σε διαφορετικές πλατφόρμες και αρχιτεκτονικές που χρησιμοποιούνται από τα αντίστοιχα εργαστήρια. Ενώ υπάρχουν αρκετοί προσομοιωτές για μια ευρεία επιλογή προσομοιώσεων μοντέλων νευρώνων, η πλειονότητα δεν είναι βελτιστοποιημένη για σύγχρονα συστήματα υπολογιστών και συνεπώς δεν επιτυγχάνει βέλτιστη απόδοση, καθυστερώντας τους νευροεπιστήμονες από σημαντικά συμπεράσματα που προκύπτουν από τα αποτελέσματα προσομοίωσης. Αυτή η διπλωματική εργασία στοχεύει να κατευνάσει την ανάγκη για επιταχυνόμενη προσομοίωση χρησιμοποιώντας το CUDA API για επιτάχυνση σε ένα σύστημα NVIDIA GPU. Το μοντέλο στο οποίο επικεντρώνεται αυτή η εργασία είναι το μοντέλο νευρώνα Adaptive Exponential Integrate-and-Fire με Spike-Timing Dependent Plasticity στις συνάψεις του, που χρησιμοποιείται ευρέως στη σύγχρονη έρευνα. Η αρχική προσομοίωση εισήχθη αρχικά από τον προσομοιωτή Brian σε ένα νέο προσομοιωτή γραμμένο στη γλώσσα προγραμματισμού C και στη συνέχεια αναπτύχθηκε για την αποτελεσματική επιτάχυνση σε GPU. Η πλατφόρμα CUDA είναι ένα στρώμα λογισμικού που παρέχει άμεση πρόσβαση στο σύνολο εικονικών εντολών της GPU και σε παράλληλα υπολογιστικά στοιχεία για γενικές εφαρμογές προγραμματισμού. Αυτή η υλοποίηση ήταν επιτυχής στην επιτάχυνση της προσομοίωσης νευρώνων πάνω από 100 φορές σε σύγκριση με τον προσομοιωτή Βριαν, περιστασιακά φτάνοντας ακόμα και ένα ρυθμό επιτάχυνσης 1000x διατηρώντας παράλληλα την ίδια λειτουργικότητα με τον προσομοιωτή Brian. Δεν υπάρχει θεωρητικό όριο στην ποσότητα νευρώνων που περιέχονται στο δίκτυο, αν και η απόδοση παρατηρήθηκε να μειώνεται σημαντικά καθώς τα όρια της μνήμης των GPU ξεπεράστηκαν. Το γεγονός αυτό αποτέλεσε σημείο ενδιαφέροντος και διερευνήθηκε περαιτέρω μαζί με άλλες παρατηρήσεις σε αυτή τη διπλωματική εργασία.
URI: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/17322
Appears in Collections:Διπλωματικές Εργασίες - Theses

Files in This Item:
File Description SizeFormat 
aneof_thesis_final (1).pdf1.92 MBAdobe PDFView/Open


Items in Artemis are protected by copyright, with all rights reserved, unless otherwise indicated.