scholarly journals Implementation of Autoencoders with Systolic Arrays through OpenCL

Electronics ◽  
2021 ◽  
Vol 10 (1) ◽  
pp. 70
Author(s):  
Rafael Gadea-Gironés ◽  
Vicente Herrero-Bosch ◽  
Jose Monzó-Ferrer ◽  
Ricardo Colom-Palero

In the world of algorithm acceleration and the implementation of deep neural networks’ recall phase, OpenCL based solutions have a clear tendency to produce perfectly adapted kernels in graphic processor unit (GPU) architectures. However, they fail to obtain the same results when applied to field-programmable gate array (FPGA) based architectures. This situation, along with an enormous advance in new GPU architectures, makes it unfeasible to defend an acceleration solution based on FPGA, even in terms of energy efficiency. Our goal in this paper is to demonstrate that multikernel structures can be written based on classic systolic arrays in OpenCL, trying to extract the most advanced features of FPGAs without having to resort to traditional FPGA development using lower level hardware description languages (HDLs) such as Verilog or VHDL. This OpenCL methodology is based on the intensive use of channels (IntelFPGA extension of OpenCL) for the communication of both data and control and on the refinement of the OpenCL libraries using register transfer logic (RTL) code to improve the performance of the implementation of the base and activation functions of the neurons and, above all, to reflect the importance of adequate communication between the layers when implementing neuronal networks.

2009 ◽  
Author(s):  
Αλέξανδρος Δημόπουλος

Τα τελευταία χρόνια, λόγω της αυξημένης ζήτησης σε υπολογιστική ισχύ σε συνδυασμό με την απαίτηση για μεταφερσιμότητα (portability) παρατηρείται μια μεγάλη αύξηση του πεδίου που βρίσκουν εφαρμογή τα Ενσωματωμένα Συστήματα. Ως Ενσωματωμένο Σύστημα (ΕΣ) μπορεί να οριστεί ένα σύστημα - περιορισμένου φυσικού μεγέθους - ειδικού σκοπού το οποίο επιτελεί μία συγκεκριμένη και προκαθορισμένη εργασία. Μάλιστα, αναλόγως με τους χρονικούς περιορισμούς της εφαρμογής χωρίζονται σε δύο μεγάλες κατηγορίες, σε αυτά που πρέπει να αντεπεξέλθουν αυστηρά σε εφαρμογές πραγματικού χρόνου (hard real time embedded) και σε εκείνα τα οποία είναι πιο χαλαρά σε σχέση με τους χρονικούς περιορισμούς (soft real time embedded). Για να εκτελέσει την εργασία του, το ΕΣ είναι συνήθως εφοδιασμένο με έναν μικροελεγκτή ή ακόμη και μικροεπεξεργαστή και έχει όσο το δυνατόν μικρότερες απαιτήσεις ενέργειας και σχετικά χαμηλό κόστος. Συνεπώς, αντί για την επιλογή ενός γενικής χρήσης συστήματος, προτιμάται για συγκεκριμένες εφαρμογές, η χρήση ενός συστήματος που μπορεί να εκτελέσει αποκλειστικά και μόνο μια συγκεκριμένη εργασία αλλά είναι μικρό σε μέγεθος, έχει χαμηλή κατανάλωση ισχύος, αυξημένες χρονικές απαιτήσεις και το κόστος του είναι χαμηλό. Με την ολοένα αυξανόμενη χρήση των ΕΣ, υπάρχει μια μετατόπιση των εφαρμογών από το πεδίο του καθαρού λογισμικού που εκτελείται σε υλικό γενικής χρήσης (pure software on general purpose hardware) σε αυτό της συνύπαρξης εξειδικευμένου υλικού/λογισμικού (dedicated hardware). Στη μετατόπιση αυτή έχει βοηθήσει σημαντικά και η εξέλιξη του προγραμματιζομένου υλικού και πιο συγκεκριμένα των FPGA (Field Programmable Gate Arrays), που αποτελούν μονάδες υλικού που επιτρέπουν τον εσωτερικό προγραμματισμό του υλικού τους, ώστε να επιτελείται μια συγκεκριμένη εργασία. Έτσι, ο προγραμματισμός περνάει σε ένα νέο επίπεδο, στο οποίο ο προγραμματιστής πια δεν καλείται να γράψει κώδικα που θα εκτελεστεί σε ένα συγκεκριμένο επεξεργαστή αλλά ο κώδικας περιγράφει το ίδιο το εξειδικευμένο υλικό. Η περιγραφή αυτή γίνεται με ειδικές γλώσσες περιγραφής υλικού (Hardware Description Languages - HDL), με κυριότερες τις Verilog και VHDL. Η συγκεκριμένη διατριβή έχει ως αντικείμενο την υλοποίηση σε υλικό (FPGA) κατάλληλων αλγορίθμων που προσθέτουν "ευφυΐα" σε ένα ΕΣ, μέσω της αναγνώρισης προτάσεων που ανήκουν σε γραμματικές χωρίς συμφραζόμενα καθώς και την αναγνώριση και υπολογισμό των αντίστοιχων κατηγορημάτων για προτάσεις που ανήκουν σε κατηγορικές γραμματικές. Ως γραμματική ορίζεται ένα σύστημα από κανόνες παραγωγής συμβολοσειρών. Οι κατηγορίες των γραμματικών, όπως έχουν οριστεί από τον Chomsky, ποικίλλουν αλλά στη συγκεκριμένη εργασία θα χρησιμοποιηθούν οι γραμματικές χωρίς συμφραζόμενα και μια επέκταση αυτών, οι κατηγορικές γραμματικές. Για τη συντακτική αναγνώριση μιας πρότασης, υπάρχουν κατάλληλοι αλγόριθμοι που ελέγχουν εάν η πρόταση ανήκει σε μια δοσμένη γραμματική ή όχι. Οι αλγόριθμοι αυτοί, που απλώς απαντούν δυαδικά με ένα ναι ή ένα όχι για κάθε πρόταση, ονομάζονται αναγνωριστές (recognizer). Στην περίπτωση που κατά τη διάρκεια της αναγνώρισης, παράγεται και το συντακτικό δέντρο αναγνώρισης (parse tree) για τη συγκεκριμένη πρόταση, τότε ο αλγόριθμος ονομάζεται συντακτικός αναλυτής (parser). Επιπλέον, προτείνεται ένα σύστημα για την αυτόματη παραγωγή ευφυών ΕΣ. Αντί να περιγράφεται το ΕΣ με τις κλασικές γλώσσες Verilog και VHDL περιγράφεται σε υψηλότερο δηλωτικό επίπεδο με τη χρήση του συμβολισμού των κατηγορικών γραμματικών. Η υλοποίηση των κατηγορικών γραμματικών βασίζεται στην παράλληλη υλοποίηση του αλγορίθμου του Earley και αποτελεί επέκταση του τελευταίου, επιτρέποντας την υλοποίησή του με μικρότερες απαιτήσεις χώρου αλλά και χρονικές απαιτήσεις. Επιπλέον, έχει επεκταθεί κατάλληλα ο αλγόριθμος προκειμένου να μπορεί να χειρισθεί και κατηγορικές γραμματικές και να υπολογίζει τα αντίστοιχα κατηγορήματα, που καθορίζουν τη σημασιολογία της γραμματικής. Για τον υπολογισμό των κατηγορημάτων, είναι απαραίτητη η ύπαρξη κάποιας μονάδας που να εκτελεί τις αναγκαίες πράξεις. Κατά τη διάρκεια της συγκεκριμένης εργασίας, έγινε χρήση διαφορετικών αρχιτεκτονικών για τη συντακτική ανάλυση και τον υπολογισμό των κατηγορημάτων. Συγκεκριμένα, για τον υπολογισμό των κατηγορημάτων - και ανάλογα με τις απαιτήσεις σε υπολογιστική ισχύ και μέγεθος - επιλέγεται ενίοτε η χρήση μικροελεγκτή, η χρήση εξωτερικού μικροεπεξεργαστή γενικής χρήσης, η χρήση εσωτερικού μικροεπεξεργαστή γενικής χρήσης και τελικά η χρήση επεξεργαστή εξειδικευμένης χρήσης ειδικά σχεδιασμένου για τις ανάγκες κάθε εφαρμογής.


Author(s):  
Marcos Martinez Peiro ◽  
Miguel Larrea Torres ◽  
Jose-Vte Lidón Roger ◽  
Yolanda Jiménez Jiménez ◽  
Rubén Torres-Curado ◽  
...  

The traditional way to learn and teach Digital Systems has been changing over the last decades by the use of Hardware Description Languages (HDL) and Field Programmable Gate Array (FPGA) evaluation boards. The use of an Arduino development kit with different sensors connected to the FPGA upsizes the students experience in the area of Digital Systems. A temperature and humidity ambience sensor combined with an ultrasound sensor to measure distance can effectively be used by students to implement its first serial data converter that takes the sensor data and shows the obtained values from the Arduino in the seven segment display of the FPGA kit. After three years of experience in the new grade courses at the UPV Telecommunication School the number of students enjoying this new way to learn the subject Fundamentals of Digital Electronics (FSD) has dramatically risen up with an increase of a 20% in the number of students that pass the subject and that select the electronic branch of telecommunication studies in the future semesters


Computers ◽  
2021 ◽  
Vol 10 (10) ◽  
pp. 125
Author(s):  
Vyacheslav Kharchenko ◽  
Oleg Illiashenko ◽  
Vladimir Sklyar

This paper describes a proposed method and technology of safety assessment of projects based on field programmable gate arrays (FPGA). Safety assessment is based on special invariants, e.g., properties which remain unchanged when a specified transformation is applied. A classification and examples of FPGA project invariants are provided. In the paper, two types of invariants are described. The first type of invariants used for such assessment are those which are versatile since they reflect the unchanged properties of FPGA projects, hardware description languages, etc. These invariants can be replenished as experience gained in project implementation accumulates. The second type of invariants is formed based on an analysis of the specifics of a particular FPGA project and reflects the features of the tasks to be solved, the algorithms that are implemented, the hardware FPGA chips used, and the computer-aided design tools, etc. The paper contains a description of the overall conception and particular stages of FPGA projects invariant-based safety assessment. As examples for solving some tasks (using of invariants and defect injections), the paper contains several algorithms written in the VHSIC hardware description language (VHDL). The paper summarizes the results obtained during several years of practical and theoretical research. It can be of practical use for engineers and researchers in the field of quality, reliability, and security of embedded systems, software and information management systems for critical and business applications.


1992 ◽  
Vol 2 (2) ◽  
pp. 159-191 ◽  
Author(s):  
Joseph A. Goguen

This paper uses concepts from sheaf theory to explain phenomena in concurrent systems, including object, inheritance, deadlock, and non-interference, as used in computer security. The approach is very; general, and applies not only to concurrent object oriented systems, but also to systems of differential equations, electrical circuits, hardware description languages, and much more. Time can be discrete or continuous, linear or branching, and distribution is allowed over space as well as time. Concepts from categpru theory help to achieve this generality: objects are modelled by sheaves; inheritance by sheaf morphisms; systems by diagrams; and interconnection by diagrams of diagrams. In addition, behaviour is given by limit, and the result of interconnection by colimit. The approach is illustrated with many examples, including a semantics for a simple concurrent object-based programming language.


2015 ◽  
Vol 773-774 ◽  
pp. 761-765
Author(s):  
Nur Atiqah Adon ◽  
Fahanahani Mahmud ◽  
Mohamad Hairol Jabbar ◽  
Norliza Othman

In past few decades, most of the modern electrophysiological concepts and methods were developed by the computational technique extensively to compute the cardiac action potential in nerve cells. Thus, tissue models consisting of a large number of single cell models cause a problem in the amount of computation required to obtain meaningful results from simulations. One of the solutions to this problem is by implementing the simulation through hardware modeling using a Field Programmable Gate Array (FPGA). Here, a research on developing a real-time simulation tool responsible for reentrant excitations in a ring of cardiac tissue based on the FitzHugh-Nagumo (FHN) model has been carried out by using a Xilinx Virtex-6 XC6VLX240T ML605 development board FPGA. In order to invest some of the time savings for creating the FPGA prototype, rapid prototyping method introduced by MathWorks which are MATLAB Simulink and its HDL Coder toolbox have been used to automate the algorithm design process by converting Simulink blocks into Hardware Description Language (HDL) code for the FPGA using a fixed-point data type in discrete-time framework. In this paper, the method and the optimization of the HDL design through the MATLAB Simulink have been discussed and the FPGA hardware performance in terms of speed, area and power consumption has also been analyzed.


2012 ◽  
Vol 83 (10) ◽  
pp. 10E312 ◽  
Author(s):  
T. O’Gorman ◽  
G. Naylor ◽  
K. J. Gibson ◽  
B. Huang ◽  
G. J. McArdle ◽  
...  

Sign in / Sign up

Export Citation Format

Share Document