Banca de TCC – Mateus Santos de Melo

UNIVERSIDADE FEDERAL DE PELOTAS
CENTRO DE DESENVOLVIMENTO TECNOLÓGICO
TRABALHO DE CONCLUSÃO DE CURSO

Apresentações Finais (2017/2)

Filtros de Interpolação para a Compensação de Movimento do Decodificador HEVC visando MPSoCs Heterogêneos com suporte OpenCL
por
Mateus Santos de Melo

Curso:
Engenharia de Computação

Banca:
Prof. Marcelo Schiavon Porto (orientador(a))
Prof. Bruno Zatt (coorientador(a))
Prof. Guilherme Ribeiro Corrêa
Prof. Júlio Carlos Balzano de Mattos

Data: 02 de Março de 2018

Hora: 15:30h

Local: Auditório Acadêmico

Resumo do Trabalho: O aumento da densidade de transistores em circuitos integrados ocorrido nas últimas décadas possibilitou a integração de diversas unidades de processamento em um único chip. A disponibilidade de sistemas com múltiplas, usualmente heterogêneas, unidades de processamento, como MPSoCs (Multiprocessor Systems on Chip), contribuem para uma melhor utilização do sistema em função das unidades funcionais disponíveis e das diferentes características de carga de trabalho existentes nas aplicações. Como estes dispositivos são comumente usados em aplicações embarcadas, torna-se necessário a exploração de suas unidades computacionais com o intuito de gerenciar eficientemente os requisitos de desempenho e energia. Entretanto, existem barreiras tecnológicas no uso destes sistemas, como os diversos modelos de programação e o gargalo de comunicação entre as unidades computacionais. Desse modo, a Heterogeneous Systems Architecture (HSA) foi fundada visando definir uma interface de programação, como a API OpenCL, com suporte aos modelos e linguagens de programação de alto nível. A API OpenCL foi projetada com o intuito de prover uma arquitetura de computação com suporte a distintos níveis de paralelismo e mapeamento de unidades computacionais como CPUs, GPGPUs, DSPs, FPGAs e, potencialmente, dispositivos futuros. Com a popularização de MPSoCs capazes de capturar vídeos e plataformas/serviços de compartilhamento deste tipo de mídia, tarefas de (de)codificação são cada vez mais frequentes neste tipo de sistemas. Neste contexto, ressalta-se as tarefas de decodificação, dado que vídeos hospedados nestes serviços apresentam potencial de serem visualizados (decodificados) inúmeras vezes e, em grande parte destes, por MPSoCs. Padrões de (de)codificação de vídeo, como o HEVC, são responsáveis por atingirem elevadas taxas de compressão, entretanto com alto custo computacional, impactando diretamente o consumo energético em sistemas alimentados por baterias. Filtros de Interpolação de amostras, presentes na etapa de Compensação de Movimento, apresentam importante representatividade no custo computacional de decodificadores de vídeo. Desse modo, esta monografia apresenta implementações de Filtros de Interpolação de amostras, da etapa de Compensação de Movimento, com suporte ao processamento heterogêneo, não explorado em implementações atuais dos padrões de codificação de vídeo. As implementações foram realizadas com a API OpenCL e embarcadas na biblioteca de decodificação Libde265, que segue o padrão HEVC. Estas implementações foram aliadas a modificações no fluxo de processamento da biblioteca, de modo a obter um maior volume de dados a serem processados em paralelo. Assim, foi possível avaliar o processamento paralelo e heterogêneo, em CPU e GPGPU, disponível no MPSoC Samsung Exynos 5422 disponível na plataforma Odroid-XU3, com avaliações do volume de dados transferido, desempenho e consumo energético. Os resultados obtidos apresentaram acréscimos no tempo de processamento nas implementações com suporte a API OpenCL em relação a versão padrão da biblioteca Libde265. Este acréscimo pode ser justificado devido ao gargalo de comunicação inerentes às versões da API OpenCL suportadas pelo MPSoC. E pela baixa frequência de operação da GPGPU, que apresentou resultados piores do que em CPU. Entretanto, ainda assim, a API OpenCL mostrou-se um bom modelo para o desenvolvimento de aplicações com suporte ao processamento heterogêneo, visto a sua fácil portabilidade entre as unidades de processamento.

Para mais informações acesse: http://wp.ufpel.edu.br/notcc/bancas/historico/2017_2/