27 research outputs found

    Characterization and Acceleration of High Performance Compute Workloads

    Get PDF

    Characterization and Acceleration of High Performance Compute Workloads

    Get PDF

    Methodology for complex dataflow application development

    Get PDF
    This thesis addresses problems inherent to the development of complex applications for reconfig- urable systems. Many projects fail to complete or take much longer than originally estimated by relying on traditional iterative software development processes typically used with conventional computers. Even though designer productivity can be increased by abstract programming and execution models, e.g., dataflow, development methodologies considering the specific properties of reconfigurable systems do not exist. The first contribution of this thesis is a design methodology to facilitate systematic develop- ment of complex applications using reconfigurable hardware in the context of High-Performance Computing (HPC). The proposed methodology is built upon a careful analysis of the original application, a software model of the intended hardware system, an analytical prediction of performance and on-chip area usage, and an iterative architectural refinement to resolve identi- fied bottlenecks before writing a single line of code targeting the reconfigurable hardware. It is successfully validated using two real applications and both achieve state-of-the-art performance. The second contribution extends this methodology to provide portability between devices in two steps. First, additional tool support for contemporary multi-die Field-Programmable Gate Arrays (FPGAs) is developed. An algorithm to automatically map logical memories to hetero- geneous physical memories with special attention to die boundaries is proposed. As a result, only the proposed algorithm managed to successfully place and route all designs used in the evaluation while the second-best algorithm failed on one third of all large applications. Second, best practices for performance portability between different FPGA devices are collected and evaluated on a financial use case, showing efficient resource usage on five different platforms. The third contribution applies the extended methodology to a real, highly demanding emerging application from the radiotherapy domain. A Monte-Carlo based simulation of dose accumu- lation in human tissue is accelerated using the proposed methodology to meet the real time requirements of adaptive radiotherapy.Open Acces

    ACiS: smart switches with application-level acceleration

    Full text link
    Network performance has contributed fundamentally to the growth of supercomputing over the past decades. In parallel, High Performance Computing (HPC) peak performance has depended, first, on ever faster/denser CPUs, and then, just on increasing density alone. As operating frequency, and now feature size, have levelled off, two new approaches are becoming central to achieving higher net performance: configurability and integration. Configurability enables hardware to map to the application, as well as vice versa. Integration enables system components that have generally been single function-e.g., a network to transport data—to have additional functionality, e.g., also to operate on that data. More generally, integration enables compute-everywhere: not just in CPU and accelerator, but also in network and, more specifically, the communication switches. In this thesis, we propose four novel methods of enhancing HPC performance through Advanced Computing in the Switch (ACiS). More specifically, we propose various flexible and application-aware accelerators that can be embedded into or attached to existing communication switches to improve the performance and scalability of HPC and Machine Learning (ML) applications. We follow a modular design discipline through introducing composable plugins to successively add ACiS capabilities. In the first work, we propose an inline accelerator to communication switches for user-definable collective operations. MPI collective operations can often be performance killers in HPC applications; we seek to solve this bottleneck by offloading them to reconfigurable hardware within the switch itself. We also introduce a novel mechanism that enables the hardware to support MPI communicators of arbitrary shape and that is scalable to very large systems. In the second work, we propose a look-aside accelerator for communication switches that is capable of processing packets at line-rate. Functions requiring loops and states are addressed in this method. The proposed in-switch accelerator is based on a RISC-V compatible Coarse Grained Reconfigurable Arrays (CGRAs). To facilitate usability, we have developed a framework to compile user-provided C/C++ codes to appropriate back-end instructions for configuring the accelerator. In the third work, we extend ACiS to support fused collectives and the combining of collectives with map operations. We observe that there is an opportunity of fusing communication (collectives) with computation. Since the computation can vary for different applications, ACiS support should be programmable in this method. In the fourth work, we propose that switches with ACiS support can control and manage the execution of applications, i.e., that the switch be an active device with decision-making capabilities. Switches have a central view of the network; they can collect telemetry information and monitor application behavior and then use this information for control, decision-making, and coordination of nodes. We evaluate the feasibility of ACiS through extensive RTL-based simulation as well as deployment in an open-access cloud infrastructure. Using this simulation framework, when considering a Graph Convolutional Network (GCN) application as a case study, a speedup of on average 3.4x across five real-world datasets is achieved on 24 nodes compared to a CPU cluster without ACiS capabilities

    Analog Spiking Neuromorphic Circuits and Systems for Brain- and Nanotechnology-Inspired Cognitive Computing

    Get PDF
    Human society is now facing grand challenges to satisfy the growing demand for computing power, at the same time, sustain energy consumption. By the end of CMOS technology scaling, innovations are required to tackle the challenges in a radically different way. Inspired by the emerging understanding of the computing occurring in a brain and nanotechnology-enabled biological plausible synaptic plasticity, neuromorphic computing architectures are being investigated. Such a neuromorphic chip that combines CMOS analog spiking neurons and nanoscale resistive random-access memory (RRAM) using as electronics synapses can provide massive neural network parallelism, high density and online learning capability, and hence, paves the path towards a promising solution to future energy-efficient real-time computing systems. However, existing silicon neuron approaches are designed to faithfully reproduce biological neuron dynamics, and hence they are incompatible with the RRAM synapses, or require extensive peripheral circuitry to modulate a synapse, and are thus deficient in learning capability. As a result, they eliminate most of the density advantages gained by the adoption of nanoscale devices, and fail to realize a functional computing system. This dissertation describes novel hardware architectures and neuron circuit designs that synergistically assemble the fundamental and significant elements for brain-inspired computing. Versatile CMOS spiking neurons that combine integrate-and-fire, passive dense RRAM synapses drive capability, dynamic biasing for adaptive power consumption, in situ spike-timing dependent plasticity (STDP) and competitive learning in compact integrated circuit modules are presented. Real-world pattern learning and recognition tasks using the proposed architecture were demonstrated with circuit-level simulations. A test chip was implemented and fabricated to verify the proposed CMOS neuron and hardware architecture, and the subsequent chip measurement results successfully proved the idea. The work described in this dissertation realizes a key building block for large-scale integration of spiking neural network hardware, and then, serves as a step-stone for the building of next-generation energy-efficient brain-inspired cognitive computing systems

    Implementations Of Novel Cellular Nonlinear And Cellular Logic Networks And Their Applications

    Get PDF
    Tez (Doktora) -- İstanbul Teknik Üniversitesi, Fen Bilimleri Enstitüsü, 2015Thesis (PhD) -- İstanbul Technical University, Institute of Science and Technology, 2015Bu tez, doğrusal olmayan sistemler ailesinden gevşemeli osilatörler, lojik osilatörler, zaman gecikmeli kaotik osilatörler; bu sistemlerden kurulan ağlar, bunların elektronik gerçeklemeleri ve uygulama alanlarında katkılar sunmaktadır. Tez, iki hipotezi tartışır. Tezde, doğrusal olmayan dalga yayılımı için ortam olan iki boyutlu hücresel doğrusal olmayan ağlar, iki boyutlu hareket planlama problemlerinde hedefin gelecekteki durumlarını öngörmeye yarayan öznitelikler ürettiği gösterilmiştir. Ayrıca, zaman gecikmeli sistemlerde kullanılan, ürettiği ikili sembol dizileri gerçek rastgele bit dizisi olan, en az bir tane iki seviyeli çıkış veren geribesleme fonksiyonu vardır. İki hipotezli bu doktora çalışmasında, hücresel gevşemeli osilatör ağ uygulamaları ve zaman-gecikmeli kaotik osilatör gerçeklemeleri ağırlıklı araştırma sahaları olmuştur. Elde edilen çıktıların çoğu bu iki başlık altında toplanmıştır ve iki hipotez test edilmiştir. Gevşemeli osilatörler ile ilişkili çalışmalar doktora başlangıcından sonuna kadar geçen süreye yayılmıştır. Başlangıçta hedeflenen yeni bir hücresel gevşemeli osilatör ağ modeline başarıyla ulaşılmıştır. Zaman gecikmeli kaotik sistemler ile ilişkili çalışmalar ise tez çalışmalarına sonradan dahil olmuş, sürenin orta ve son kısmında yoğun olarak yürütülmüştür. Özetin devamında, tezin yazım organizasyonuna göre ana bölümler ve alt bölümler kısaca anlatılacak ve aralarındaki ilişki sunulacaktır. Giriş bölümünü takip eden ilk bölüm olan 'Hücreler' bölümünde beş osilatör modeli sunulmaktadır. İlk osilatör (Osilatör 1) çalışmalara referans olan gevşemeli osilatördür ve modelinde bir parça parça doğrusal fonksiyon bulunmaktadır. Bu fonksiyon, iki mutlak değer fonksiyonu ile gerçekleştirilebilir. Osilatör 2, yeni bir gevşemeli osilatör modelidir ve bu doktoranın orjinal önermelerindendir. Model yalnızca bir tane işaret (signum) fonksiyonu barındırır. Osilatör 3 ise lojik osilatör olmakla birlikte, Osilatör 1 ve 2'ye ait dinamik davranışın taklidini yapmaktadır. Kısaca, gevşemeli osilatörde mevcut iki durum deği ̧skeninin birbirine yakın (tepe) değerlerde bulunduğu, biri pozitif diğeri negatif iki tepe durum, ve bunlar arasında farklı yörüngeler üzerinden gerçekle ̧sen iki geçi ̧s durumu, Osilatör 3'teki dört durum ile modellenmi ̧stir. Lojik osilatörün, gev ̧semeli osilatöre davranı ̧ssal olarak benzetilerek sentezlenmesi tezin literatüre katkılarındandır. Osilatör 4 ise yeni bir zaman gecikmeli kaotik sistemi, önerdiği iki seviyeli çıkış veren bir doğrusal olmayan fonksiyon ile sunar. Modelinde bulunan doğrusal olmayan fonksiyonun seviye sayısı sistematik şekilde arttırılarak çok sarmallı çekici üreten kaotik model elde edilmiştir. Osilatör 5 olarak anılacak olan bu modelde doğrusal olmayan fonksiyonun genelleştirilmesi verilir. Yeni önerilen doğrusal olmayan foksiyonları ile hem Osilatör 4 modeli hem de Osilatör 5 modeli tezin literatüre katkılarındandır. Üçüncü ana bölüm olan 'Ağlar'da, beş osilatörden ilk dördü kullanılmakta ve farklı iki tip ağ kurulmaktadır. Osilatör 1, 2 ve 3 ile hücresel doğrusal olmayan ağlar oluşturulmuş, Ağ 1, 2 ve 3 isimleri verilmiştir. Dördüncü osilatör (kaotik zaman gecikmeli osilatör) ile farklı bir tip ağ kurulmuştur. Ağ 1 referans modeldir ve tezde bilgilendirme amacıyla bulunur. Her üç ağ üzerinde, doğrusal olmayan dalgalardan, otodalga ve yürüyen dalganın üretilmesi ve yayılması gösterilmiştir. Ağ 2 ve Ağ 3 için otodalga ve yürüyen dalgaları üreten bağlantı kuralları ve parametreler tezde önerilen yeniliklerdendir. Üç ağda aranan ilerleme, ardı ardına ve lokasyonu değişen kaynak ile üretilen yürüyen dalgaların, 2 boyutlu uzayda iç içe geçmiş ve Doppler Etkisini ortaya çıkarmış dalga çeperleri oluşturmasıdır. Çalışmalarda üç ağda da Doppler Etkisinin gözlenmesi başarılmıştır. Ağların hücreleri otonom osilasyon yapan dinamikte iken otodalga yayılmakta, tezde açıklanan kurallar ile çift kararlı (bistable) dinamiğe sahip kılındıklarında ise yürüyen dalga yayılabilmektedir. Ağ 1, 2 ve 3, beş farklı metrik ile karşılaştırılmıştır. Karşılaştırma esnasında hücreler çift kararlı davranışa ayarlanmış, yürüyen dalga yayılmıştır. Metrik 1, dalga çeperi geçiş periyodu olan d büyüklüğünün çözünürlüğüdür. Ağ 3 neredeyse 2 değere nicelenmiş d üretebilir, Ağ 2 dört farklı değerde, Ağ 1 çok daha fazla değerde d üretebilir. Tez, Doppler Etkisinin sonucu olarak kaynak hareketi ile ilişkilenen d değişkeninin analizini uygulama kısmında kullanır. Dolayısıyla, d'nin niceleme seviyesindeki fazlalık, analiz işleminde sonuçların keskinliğini etkiler. Metrik 2 elektronik gerçekleme karmaşıklığıdır. Ağ 3'ün lojik devre olması sebebiyle, modele uygun gerçekleme az sayıda transistor ile mümkündür. Ağ 1 ve 2 ise sürekli zamanlı modellere sahip olduğundan analog devre olarak gerçeklenebilir. Modele uygun, yüksek doğrulukta çalışacak, gerçeklemenin karşılaştırıcı, toplayıcı, integre edici, kuvvetlendirici, çoklayıcı gibi bileşenleri çok sayıda transistor gerektirir. Ağ 1 gerçeklemesi, daha karmaşık olan doğrusal olmayan fonksiyonu sebebi ile Ağ 2 gerçeklemesinden karmaşık olacaktır. Metrik 3 uzaysal-zamansal çalışma bölgesinde ağ üzerinde yayılan dalga çeperlerinin yayılma hızıdır. Sürekli zaman modelli Ağ 1 ve Ağ 2'de hız saniye birim zamanda değerlendirilirken, ayrık zamanlı Ağ 3'te hız iterasyon adımına göre değerlendirilmektedir. Ancak, modellerin sayısal yöntemler ile çözümü, her üçünü de ayrık zamanlı ve karşılaştırılabilir hale getirir. Buna göre Ağ 3 en hızlı dalga yayılan ağdır. Ağ 2'de de Ağ 1'e göre daha hızlı dalga yayılır. Metrik 4, ağdaki hücrelerin (1 ve 2'de) eyer noktaları arasındaki hareketlerinde geçen süre ve (3'te) tepe durumlar arasındaki hareketlerinde geçen süredir. Metrik 3'teki gibi, yeni durumuna en hızlı yerleşen hücreler Ağ 3'tekiler, daha yavaş yerleşenler Ağ 2'dekiler, ve en yavaş yerleşenler Ağ 1'dekilerdir. Yerleşme hızı, giriş işareti ile yeni dalga yaratma sıklığını üstten sınırlandıran bir büyüklük olarak değerlendirilmelidir. Yayılan dalga çeperlerinin eğriliği Metrik 5'tir. Ağ 3'te yayılan yürüyen dalga ve otodalga çeperleri dörtgen şeklindedir. Ağ 2'te otodalgalar dörtgen şekilde yayılırken, yürüyen dalga için parametre araştırmasında, uygulanan bir ofset ile sistem dinamiği sekizgen dalga çeperi üretecek hale getirilmiştir. Ağ 1 çember şekle sahip dalga formları yayabilmesi sayesinde diğer ikisine göre uygulamalarda avantajlı konuma gelmektedir. Ağlar ana bölümünün içerdiği son ağ bir boyutlu, tek yönlü bağlantıya sahip zaman gecikmeli hücrelerden kurulu ağdır. Bu ağ, kaotik osilatörler arasında sezgisel (anticipating) senkronizasyonun kurulabildiğini göstermektedir. Takip eden ana bölümde Hücreler ve Ağlar bölümünden modellerin bir kısmının gerçeklemesi için yapılan çalışmalar sunulmaktadır. Ağ 1'in ileri Euler metodu ile ayrıklaştırılmış hali sayısal sistem olarak tasarlanmış ve seçilen Sahada Programlanabilir Kapı Dizisi (Field Programmable Gate Array, FPGA) üzerinde gerçeklenmiştir. Yapılan gerçeklemede, 2008'de gerçeklenen kayan nokta sayı formatıyla çalışan aritmetik devreler yerine sabit nokta aritmetiği kullanılmıştır. Devrenin çalışma performansı ve FPGA üzerinde kapladığı alan açısından referans tasarım ile karşılaştırması sunulmuştur. Ayrıca, Grafik İşleme Birimi (Graphics Processing Unit, GPU) üzerinde yine Ağ 1 modeline ilişkin benzetim sonuçları elde edilmiştir ve gerek Merkezi İşlem Birimi (Central Processing Unit, CPU) üzerinde çalışan benzetimlerden, gerek FPGA gerçeklemelerinden daha yüksek performans elde edilmiştir. Ağ 3'ün gerçeklemesi FPGA'larda var olan ve günümüzde hala geliştirilmekte olan bir özelliğin ağ gerçeklemesine katkısı incelenerek yapılmıştır. Dinamik Kısmi Yeniden Yapılandırma (Dynamic Partial Reconfiguration, DPR) adlı bu özellik, ile sayısal devrenin bir kısmı çalışırken diğer bir kısmı değiştirilebilir. Bu özellik, Ağ 3'ün bazı hücrelerinin çalışma esnasında değiştirilmesi sağlanacak şekilde kullanılmıştır. Elde edilen sonuçlara göre, FPGA alanından tasarruf sağlanmış fakat öte yandan yalnızca özelliğin aktif tutulmasını sağlayan ek alan tüketimi sorunu da tespit edilmiştir. Bu doktora çalışmasındaki elektronik gerçeklemelerin çoğunluğu zaman gecikmeli sistemler (Osilatör 4, 5) ve ağları (Ağ 4) için yapılmıştır. İki seviyeli doğrusal olmayan fonksiyonla önerilen yeni modelin en büyük avantajı gecikme hattının gerçeklenmesinde görülür. Sayısal devre elemanlarından DEĞİL kapısı (evirici tampon, inverting buffer) ve tutucular, özellikle D tipi tutucu (flip-flop) ile ikili işaretler geciktirilebilir. Senkron tutucular ile yapılan gerçeklemede örneklemeli (sampled-data) sistem modeli kullanılması uygun olur. Bu ana başlık altında anlatılan gerçeklemenin ilki hem DEĞİL kapısı gibi asenkron cevap verebilen (saat işaretsiz) hem de tutucu dizisi kadar uzun gecikme süresi sağlayabilen bir gecikme hattı yapı taşıdır. Tezde, Asenkron Gecikme Çiftleyici (Asynchronous Delay Doubler, ADD) adı verilen bu yeni devre ile iç içe kullanım sayesinde üstel artan gecikme süreleri elde edilebilmiş, bu sayede zaman sabiti büyük olan ayrık analog integrator devrenin ihtiyaç duyduğu uzun gecikme sağlanabilmiştir. Osilatör 4'ün analog integrator, D tipi tutucu gecikme hattı gerçeklemesi; analog integrator, ADD gecikme hattı gerçeklemesi; sayısal integrator, DEĞİL kapısı gecikme hattı gerçeklemesi aynı ana bölümde alt bölümler olarak sunulmaktadır. Bunları Osilatör 5'in analog integrator, D tipi tutucu gecikme hattı gerçeklemesi; Ağ 4'ün analog integrator, D tipi tutucu gecikme hattı geçeklemesi ve yine Ağ 4'ün sayısal integrator, D tipi tutucu gecikme hattı gerçeklemesi takip eder. Sonuçlardan önceki son bölüm olan 'Uygulamalar' ana bölümü, iki bölümden oluşur. İlkinde Ağ 1, kestirim yapılmaksızın geribeslemeli hareket planlama algoritmasında kullanılır. Ardından Doopler Etkisini ve onunla üretilen yeni özniteliği kullanan öngörülü geribeslemeli hareket planlama algoritması sunulmaktadır. Öngörülü planlama tezin içerdiği yeniliklerdendir. Geribeslemeli hareket planı, ayrıklaştırılmış uzayda uzayın her ayrık parçası için bir hareket vektörünün hesaplanmış olduğu plandır. Uzayın, ayrıklaştırılmış olması sebebiyle hücresel doğrusal olmayan ağlarla modellenmesi mümkün olur. Bu ağlar üzerinde dalga hedef noktadan doğar. Dalga yayıldıkça, çeperin ulaştığı hücreler geliş açısını tespit ve kayıt ederek geribeslemeli hareket planı oluşturur. Bu yöntemde geribesleme ifadesinden kasıt, planlama için yayılan dalganın tüm ağa dağılması dolayısıyla modellenen fiziksel dünyanın tüm noktaları için çözümün bulunmuş olması, bu sayede hedefe giden yolların tek seferde, tüm hücreler için aynı anda tespit edilmesidir. Üretilen sonucu kullanan sistem rota üzerinde hata yapsa da elde edilen çözüm sayesinde yeniden hesaplamaya gerek kalmaksızın hedefe doğru ilerlemesi mümkün olmaktadır. 'Uygulamalar'daki bir diğer alt bölümde de zaman gecikmeli Osilatör 4'ün rasgele bit dizisi üretiminde kullanımı konusunda elde edilen araştırma sonuçları verilmiştir. Önerilen kaotik sistemlerin gecikme hattından çıkan bit dizisi rasgele sayı olarak kabul edilir ve NIST'in istatistiksel test ortamıyla dizi sınanır. Uygun düşük hızda yapılan örnekleme sonucunda testi başarıyla geçen bit dizileri elde edilebilektedir. Ayrıca sezgisel senkronizasyon sağlayan ağ ile Osilatör 4 tabanlı rastgele bit üreticisinin gelecekte üretteceği değerlerin önceden tespit edilebildiği gösterilmiştir. Tez boyunca yürütülen çalışmalarda, yeni modeller, yenilikçi gerçeklemeler ve yeni uygulamalara ulaşılmıştır. Her ne kadar tez organizasyonu, hücreler, ağlar, gerçeklemeler ve uygulamalar bölümleriyle yapılmış olsa da içeriği oluşturan çalışmalar, farklı alt bölümlerin bir arada ele alındığı şekilde yürütülmüştür. Bu sebeple, tez çalışması boyunca yayınlanmış olan veya hakem değerlendirmesinde bulunan bildiri ve makaleler farklı alt bölümlerden parçalar ihtiva etmektedir. Çalışma süresince 8 uluslararası konferans bildirisi sunulmuş, 5 dergi makalesi ve 1 kitap bölümü yayınlanmıştır. Ayrıca henüz hakemlik süreci tamamlanmayan 1 dergi makalesi mevcuttur.This thesis is a consistent and coherent reorganization of studies on two topics of nonlinear systems. First topic includes Relaxation Oscillators and logic oscillators with similar behavior which are locally coupled and the resulting Cellular Nonlinear Networks (CNN) are utilized for a predictive motion planning algorithm. Nonlinear waves, especially autowave and traveling wave, have been studied and their system model, coupling schemes, parameters, and inputs generating both types of nonlinear waves are explained. The research covers two implementations of selected CNN and compares their digital circuit (FPGA prototyping), CPU simulation and GPU simulation performances. The research is focused on the Doppler Effect occurrence of the propagated nonlinear waves. A novel nonlinear wave propagation based feedback motion planning algorithm which utilizes the Doppler Effect and generates a prediction for the future state of target object has been proposed. The comparisons which reveals the effect of Doppler Effect are reported. The results prove that a tracker even slower than the target may catch it using the proposed algorithm. This new method of motion planning needs two layers of oscillator based CNNs. Two types of relaxation oscillators (one of them is a new model) and the logic oscillator have been tested for the algorithm. Novel models of chaotic time-delay systems are introduced in the thesis as the second topic. The proposed binary output nonlinearity makes the oscillator generate a mono-scroll chaotic attractor. This thesis also proposes a generalization of the binary output nonlinear function, which is a quantized output nonlinearity. The generalized nonlinearity yields a multi-scroll attractor. Both systems are modelled as sampled-data models, because the binary delay lines are constructed by digital components (D-type flip-flops). The research on implementations of these oscillators has been expanded with binary inverting buffers (NOT gates) and asynchronous digital state machines. These systems successfully generate true random bit sequences without the need for post-processing. Up-to-date NIST's statistical test suite is used for the tests of bit sequences and successful throughput rates are reported. The jitter on the NOT gate based delay line is utilized as physical noise and all-digital implementation supported by the jitter also passed the statistical tests. The thesis merges research parts and reorganize the outputs under four titles: cells, networks, implementations and applications.DoktoraPh

    Diseño e implementación sobre hardware reconfigurable de una arquitectura para la emulación en tiempo real de redes neuronales celulares

    Get PDF
    [SPA] En esta Tesis se propone el diseño y la implementación sobre hardware reconfigurable de una arquitectura para la emulación en tiempo real de redes neuronales celulares (CNN). El proceso de diseño de la arquitectura, comienza con el planteamiento de diferentes métodos de discretización del modelo continuo original de la red CNN. A partir de dichos métodos se obtienen distintas aproximaciones que son simuladas y comparadas entre sí con el fin de comprobar su funcionalidad y determinar cuál de ellas proporciona los mejores resultados con el menor coste computacional. La aproximación con mejores prestaciones es elegida para desarrollar el algoritmo de cómputo que describe la arquitectura hardware de la red CNN. La metodología de desarrollo utilizada, explora diferentes alternativas para optimizar la arquitectura CNN desde el punto de vista de su implementación hardware sobre FPGAs. A partir de la paralelización y adaptación del algoritmo de cómputo se desarrollan dos arquitecturas hardware diferentes denominadas Carthago y Carthagonova. Estas arquitecturas describen el funcionamiento de una Celda CNN, desenrollada en Etapas, que permite emular secuencialmente el procesamiento realizado por las redes CNN. La principal característica de estas arquitecturas es la capacidad que tienen para procesar la información en flujo de datos y en tiempo real. Las soluciones propuestas tiene como principal objetivo conseguir el mejor equilibrio entre la velocidad de procesamiento y el consumo de recursos hardware de la FPGA, así como evitar el uso de dispositivos de memoria externa que reducen la velocidad de procesamiento del sistema e incrementan su tamaño. Se proponen diferentes alternativas para implementar las arquitecturas sobre dispositivos FPGAs. Una de ellas consiste en utilizar una técnica de sincronización self-timed, eficiente en área-tiempo, que es definida mediante un lenguaje de descripción hardware tradicional (VHDL), instanciando primitivas de bajo nivel y realizando el emplazamiento de los componentes de forma manual. Otra alternativa consiste en una descripción en VHDL estructural a nivel RTL y sincronización convencional, donde los componentes self-timed son sustituidos por componentes estándar. Se propone además la implementación de una de las arquitecturas sobre un computador reconfigurable de altas prestaciones (HPRC), compuesto por un microprocesador de propósito general y un coprocesador basado en FPGAs, encargado de acelerar la ejecución de los algoritmos mediante hardware. El particionamiento hardware/software y el proceso de co-diseño se realizan usando las herramientas de desarrollo a nivel de sistema (ESL) de Impulse Accelerated Technologies (Impulse-C) y la plataforma HPRC DS1002 de DRC Computers. Los principales resultados obtenidos de las diferentes implementaciones son mostrados con el fin de demostrar la funcionalidad de las arquitecturas y analizar sus principales prestaciones. Las diferentes combinaciones consideradas, entre técnicas de implementación y las arquitecturas propuestas, muestran que la arquitectura Carthagonova, implementada a nivel estructural, presenta importantes ventajas a considerar. En primer lugar, la arquitectura facilita la emulación de redes CNN complejas, compuestas por cientos de miles de millones de neuronas, sobre sistemas embebidos basados en FPGAs. En segundo lugar, el excelente compromiso alcanzado entre velocidad de procesamiento y consumo de recursos hardware hace que sea una interesante solución a considerar frente a otras alternativas de la literatura. Finalmente, la versatilidad y las prestaciones de la arquitectura diseñada permiten dar soporte al desarrollo de sistemas de procesamiento de vídeo en tiempo real y al diseño de aplicaciones basadas en modelos neuronales bioinspirados. La arquitectura CNN propuesta es utilizada para desarrollar un modelo artificial de la primera sinapsis de la retina, incorporando algunas de las principales características de los circuitos neuronales considerados. El modelo está basado en los campos receptores de las células bipolares y su objetivo es emular, mediante hardware reconfigurable, el procesamiento espacial básico realizado por la retina. Al igual que ocurre en la primera sinapsis de la retina, se observa que el modelo artificial propuesto lleva a cabo la detección del contraste y la discriminación visual de detalles en función de la influencia de los factores de convergencia y de inhibición lateral de los circuitos neuronales implementados. Finalmente, se propone el diseño y la implementación de un sistema de cómputo distribuido, basado en múltiples FPGAs, que permite el desarrollo de aplicaciones embebidas de procesamiento de vídeo en tiempo real con redes CNN multi-capa (ML-CNNs) complejas y de gran tamaño. El sistema procesa la información de vídeo en flujo de datos (en modo progresivo) y proporciona una salida de vídeo estándar compatible con el formato VGA industria. [ENG] This thesis proposes the design and development of a hardware architecture for real-time emulation of non-linear multilayer Cellular Neural Networks (CNN). This approach is focused on CNN implementation on reconfigurable hardware architectures. The architecture design begins from a discrete model obtained from different transformations made to the original continuous model of CNN. Each discrete approach is simulated and compared with the rest of approaches in order to verify their functionality and to find the approach which best emulates the continuous model at minimum computational cost. The best discrete model found is then used to develop the hardware architecture of the CNN. The development methodology used, explores different alternatives to optimize the architecture from the point of view of its hardware implementation on FPGAs. The architectures Carthago and Carthagonova are developed from the hardware adaptation and parallelization of the sequential algorithm that describes the functionality of the selected CNN discrete model. These architectures are based on an unrolling cell which is employed to emulate CNNs with large number of neurons. The key characteristic of these architectures is their capability to process information in real time in a sequential manner. The proposed solution aims to find a suitable tradeoff between area and speed, reducing the use of hardware resources on the FPGA and avoiding the use of external memory devices which make slower the processing rate and higher size and cost. We propose different solutions to the internal implementation of both architectures on an FPGA. The first one is a novel self-timed architecture, areatime efficient. It is described using traditional Hardware Description Languages (HDL) from low level hardware primitives instantiation and manual placement. The second one consists in a high level description in structural VHDL using conventional synchronization, instead of self-timed blocks. We also propose an implementation architecture that makes use of a High Performance Reconfigurable Computer (HPRC), combining general purpose microprocessors with custom hardware accelerators based on FPGAs, to speed up execution time. The hardware/ software partitioning and co-design process are carried out using high level design tools. The architecture Carthago is implemented using Electronic System Level (ESL) tools from Impulse Accelerated Technologies and the DS1002 HPRC platform from DRC Computers. The most relevant results obtained from different implementations are shown in order to verify the functionality of the proposed neural hardware architectures and to analyze their performance. The best combination of architecture and implementation model, the Carthagonova-structural, presents some important advantages. Firstly, the architecture is developed to help emulating highperformance discrete CNNs with hundreds or millions of neurons on embedded FPGA-based systems. Secondly, due to its balanced trade-off between speed and area, this architecture is an interesting alternative to consider among others in the literature. Finally, its versatility facilitates the export of neural hardware architecture to applications such as signal and image processing, implementation of the neurological models inspired on human systems, etc. The hardware architecture proposed is used to build a CNN-based model of the fist synapse of the retina, which incorporates the main neural circuits found in the different retinal regions. The aim of this bioinspired model is to implement the basic spatial processing of the retina in reconfigurable hardware. The model is based on the bipolar cells receptive fields and mimics the retinal architecture achieving its processing capabilities. As occurs in the processing of first synapse of the retina, it is observed that contrast detection and detail resolution are influenced by the convergence factor of neurons and by lateral inhibition, which are specific parameters of each neural circuit. We also propose the design and implementation of an embedded system based on multiple FPGAs that can be used to process real time video streams for applications that require the use of large Multi-Layer CNNs (ML-CNNs). The system processes video in progressive mode and provides a standard VGA output format. The main features of the system are determined by using a distributed computing architecture, based on Processing Modules (PM), which facilitates system expansion and adaptation to new applications. Several FPGA-based processing modules can be cascaded together with a video acquisition stage and an output interface to a frame grabber for video output storage, all sharing a common communication interface. Each PM is composed by an FPGA board that can hold one or more CNN layers. The total computing capacity of the system is determined by the number of MP used and the amount of resources available in the FPGAs. The pre-verified CNN components, the modular architecture, and the expandable hardware platform provide an excellent workbench for fast and confident developing of CNN applications, based on traditional cloned templates, but also time-variant and space-variant templates.Universidad Politécnica de Cartagen
    corecore