Jornadas sobre Sistemas Reconfiguráveis (REC 2005)

Faculdade de Ciências e Tecnologia

Universidade do Algarve,

Campus de Gambelas, Faro, Algarve, Portugal

21 de Fevereiro de 2005

 

Seminários de uma hora com oradores convidados de instituições estrangeiras de ensino e/ou de investigação:

 

w        Pedro Diniz, University of Southern California / Information Sciences Institute, USA: “DEFACTO: Combining Parallelizing Compiler Technology with Hardware Behavioral Synthesis”

 

w        Eduardo Marques, Universidade de São Paulo – USP, Brasil; Márcio Merino Fernandes, Universidade Metodista de Piracicaba-Unimep, Brasil: “Computação Reconfigurável Aplicada no Desenvolvimento de Robôs Moveis”

 

Título: “DEFACTO: Combining Parallelizing Compiler Technology with Hardware Behavioral Synthesis”

Autores:  Pedro Diniz, University of Southern California / Information Sciences Institute, USA

  

Resumo:

Field-Programmable-Gate-Arrays (FPGAs) offer the promise of substantial performance improvements over conventional processors by allowing the implementation of application-specific datapaths that exploit instruction-level parallelism or domain-specific numeric formats and operations. Unfortunately FPGAs are still difficult to program making them inaccessible to the average developer. The standard practice requires developers to express the application program in a hardware-oriented language such as Verilog or VHDL, and synthesize the hardware design using a variety of synthesis tools. Because of the complexity of the synthesis process, it is difficult to predict a priori the performance and space characteristics of the resulting design. For this reason, the developer usually engages in an iterative design process, examining the results, and modifying the design to trade off performance for space.

 

In this presentation we describe DEFACTO, a system that automatically maps computations written in high-level imperative programming languages such as C

to multi-FPGA-based systems. DEFACTO combines parallelizing compiler technology with commercially available behavioral synthesis tools. We use synthesis estimation techniques to guide the application of high-level program transformations in the search of high-quality hardware designs, thereby avoiding the long compilation/synthesis design cycles. We illustrate the effectiveness of DEFACTO in exploring a wide space of implementation designs for a set of image processing computations. For these computations DEFACTO searches on average less than 0.3% of the design space while deriving an “optimal” implementation, leading up to 4 orders of magnitude reduction in design time. We also describe in detail the mapping of a digital image processing computation, the Sobel edge detection, for which DEFACTO yields a 60-fold reduction in design time with only a 59% increase in execution time as compared to a manual implementation of the same algorithm.

 

This work has been sponsored by the Defense Advanced Research Project Agency (DARPA) under contract # F30602-98-2-0113.

 

Mini CV dos autores:

 

Pedro Diniz, graduated from the Technical University of Lisbon in Portugal where he got his BSc and MSc in Electrical Engineering. In 1997 he got his PhD in Computer

Science from the University of California, Santa Barbara in Parallelizing Compilers. Since 1997, when he joined the University of Southern California=92s Information Sciences=92 Institute (USC/ISI) he has been working on the application of compiler techniques to the problem of automatic mapping of computation expressed in high-level imperative programming languages, such as C, to configurable computing architectures such as Field-Programmable-gate-Arrays (FPGAs). He was

one of the main architects of the DEFACTO research project (www.isi.edu/~pedro/projects/DEFACTO/) which has shown that it is possible to bridge the gap between high-level imperative languages and hardware oriented languages making configurable computing architectures accessible to a wider range of users. He is currently working on extending this compilation work in the context of the SLATE research project (www.isi.edu/~pedro/projects/SLATE) to emerging configurable architectures with heterogeneous and programmable resources, such as hardware multipliers and RAM blocks.

 

 

Título: “Computação Reconfigurável Aplicada no Desenvolvimento de Robôs Moveis”

Autores:  Eduardo Marques, Universidade de São Paulo – USP, Brasil

   Márcio Merino Fernandes, Universidade Metodista de Piracicaba-Unimep, Brasil

Resumo:

Nos últimos anos o interesse por robôs, em especial por robôs móveis, tem crescido muito. O interesse nessa área vai desde a criação de novos paradigmas de aprendizado de máquinas até a aplicação de técnicas de probabilidade para lidar com as incertezas do ambiente e com a imprecisão das medidas obtidas pelos sensores utilizados em tais máquinas. Grandes avanços foram obtidos nessa área. Contudo a tarefa de programar um robô móvel ainda se mostra uma tarefa extremamente árdua tanto em termos da complexidade quanto do tempo desprendido. Outra tarefa essencial  para que os robôs móveis tenham um futuro ainda mais promissor, e para que eles cada vez mais se aproximem dos robôs que são descritos nos contos de ficção científica, é a criação de hardware especializado que acelere a execução dos algoritmos que controlam o robô de forma que ele possa tomar decisões mais complexas e de maneira mais rápida. Essa tarefa é muito mais árdua do que a mera programação de tais robôs. Ela envolve o conhecimento profundo dos algoritmos utilizados pelos mesmos além de conhecimentos muito sólidos no projecto e desenvolvimento de hardware especializado. Na tentativa de amenizar essas dificuldades essa pesquisa irá descrever uma ferramenta para geração de hardware e software para robôs móveis que integra computação probabilística e aprendizado de máquina. Impulsionado pelos desenvolvimentos obtidos pela área de computação reconfigurável e vislumbrando os possíveis ganhos tanto em termos de flexibilidade quanto em termos de desempenho que tal tecnologia pode proporcionar para o hardware de robôs móveis, a ferramenta explorará o uso desses recursos no desenvolvimento do hardware dos robôs móveis. A proposta desse projecto é bastante arrojada e poderá ter um impacto bastante significativo no desenvolvimento da área de robótica.

 

Mini CV dos autores:

 

Eduardo Marques é Professor da Universidade de São Paulo-USP, Brasil, onde tem trabalhado há 18 anos com o ensino e pesquisa em Hardware. Tem Doutorado em Engenharia de Sistemas Digitais pela Escola Politécnica (EP) da USP (1993); Tem Mestrado  em Ciência da Computação pelo Instituto de Ciências Matemáticas e de Computação (ICMC) da USP (1988); e fez sua graduação em Bacharelado de Ciências da Computação na Universidade Federal de São Carlos (UFSCar, 1985). Sua área de pesquisa é Arquitectura de Computadores e vem utilizando a computação reconfigurável desde Abril de 1995 em suas pesquisas e ensino.

 

Márcio Merino Fernandes é actualmente Professor da Universidade Metodista de Piracicaba-Unimep, Brasil, onde tem trabalhado desde Janeiro de 2003. Trabalhou por 3 anos  na Siroyan Ltd, UK, desenvolvendo técnicas de compilação para arquitecturas VLIW. Tem Doutorado em Ciência da Computação pela Edinburgh University (1998); Tem Mestrado  em Ciência da Computação pela Universidade Federal de São Carlos (UFSCar, 1992); e fez sua graduação em Bacharelado de Ciências da Computação no Instituto de Ciências Matemáticas e de Computação (ICMC) da USP (1988). Sua área de pesquisa é Arquitectura de Computadores e Técnicas de Compilação aplicadas a computação reconfigurável. Ultimamente, também tem trabalhado  no projecto de interfaces embutidas para Realidade Virtual.