Bolsa 10/04675-4 - Computação de alto desempenho, Circuitos FPGA - BV FAPESP
Estudo comparativo das arquiteturas CUDA e FPGA para implementação de filtros lineares e não-lineares
Processo: 10/04675-4
Beneficiário: Lucas Maziero Russo
Assunto(s): Computação de alto desempenho Circuitos FPGA Paralelismo
No presente projeto de iniciação científica, propõe-se a realização de um estudo comparativo em relação a custos e desempenho de filtros lineares e não lineares para tratamento de imagens através de suas implementações em ferramentas de estado da arte em computação paralela, dentre as quais se podem citar: arquiteturas CUDA e FPGA.Através da primeira arquitetura, uma extensão da linguagem de programação C será utilizada a fim de explorar o processamento independente de cada porção da imagem de entrada por unidades básicas de processamento (threads, no modelo CUDA), assim como acesso eficaz à memória global, utilização da hierarquia de memória para diminuição dos tempos de acesso aos dados, cooperação e organização entre os threads, pré-carregamento de dados (data prefetching) e estudo da granularidade do problema para distribuição adequada de cálculos aos threads. Na implementação em FPGA, o paralelismo dos algoritmos também será um ponto importante na otimização dos mesmos e a linguagem de descrição de hardware Verilog será utilizada. Entretanto, devido ao baixo nível existente na programação de hardware, outros aspectos como gerenciamento de memória e controle de fluxo de dados também possuirão um papel significativo na implementação dos algoritmos nesta plataforma. Por fim, será realizada uma comparação dos resultados obtidos pelas duas primeiras arquiteturas com resultados já existentes de um desktop convencional baseado na arquitetura x86. Além de estudos comparativos de desempenho sob a forma de gráficos e tabelas, uma análise de custos dos sistemas baseados nas arquiteturas mencionadas e de esforço de programação no desenvolvimento (implementação e otimização) dos algoritmos de filtragem será realizada.