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.