Logo do repositório
 
Publicação

OpenCL-MMP : codificação de imagens com sistemas com múltiplos núcleos

dc.contributor.authorSilva, João Filipe Crespo
dc.date.accessioned2015-07-10T09:50:38Z
dc.date.available2015-07-10T09:50:38Z
dc.date.issued2015
dc.descriptionDissertação apresentada à Escola Superior de Tecnologia e Gestão do IPL para obtenção do grau de Mestre em Engenharia Informática - Computação Móvel, com orientação do Doutor Patrício Rodrigues Domingues e coorientação do Doutor Nuno Miguel Morais Rodrigues e do Doutor Sérgio Manuel Maciel Faria.por
dc.description.abstractEsta tese, no âmbito dos projetos “EPIC - Efficient Pattern-matching Image Compression on many-core systems” - PTDC/EIA-EIA/122774/2010 e “ OPAC - Optimization of patternmatching compression algorithms for GPU’s” - PEst-OE/EEI/LA008/2013, investiga a adaptação e otimização de um algoritmo de compressão de imagens assente na metodologia de correspondência de padrões para sistemas de processamento gráfico de alto desempenho, isto é, as placas gráficas (GPU). O foco principal foi a migração do algoritmo Multiscale Multidimensional Parser (MMP) para um sistema de múlti-núcleos utilizando CUDA e OpenCL. Esta dissertação foca particularmente a adaptação do algoritmo MMP ao paradigma OpenCL, onde foi necessário proceder a um estudo do algoritmo existente e identificar as funções que consumiam a maior percentagem de tempo de processamento e aferir a viabilidade de o transcrever para um paradigma de processamento paralelo. A principal ação detetada para efeitos de paralelização prende-se com as pesquisas que o algoritmo efetua sob um dicionário adaptativo na busca do melhor elemento que identifica determinado bloco. Esta pesquisa é efetuada durante a codificação dos blocos e na atualização do dicionário, no final da codificação de cada bloco. Para tal, foram criados quatro funções a executar pela GPU, denominados de kernels. Os dois primeiros kernels são executados durante a codificação dos blocos têm como objetivo devolver o melhor elemento do dicionário para cada partição do bloco. O terceiro e quarto kernels são responsáveis pela atualização do dicionário: um efetua o controlo de redundância dos elementos do dicionário e o outro fica responsável por atualizar o dicionário presente em memória da GPU. Os dois protótipos implementados, CUDA-MMP e OpenCL-MMP, permitiram ganhos de tempo na ordem de 2 a 10 vezes, mantendo a qualidade de compressão original. Estes resultados permitem concluir que os paradigmas de multi-núcleo permitem acelerar o desempenho das aplicações. Contudo, este desempenho apenas é conseguido com um estudo iterativo dos kernels e otimizando-os de forma a garantir o máximo de desempenho por parte da GPU.por
dc.identifier.tid201878470
dc.identifier.urihttp://hdl.handle.net/10400.8/1383
dc.language.isoporpor
dc.publisherInstituto Politécnico de Leiriapor
dc.subjectOpenCLpor
dc.subjectCUDApor
dc.subjectComputação de alto desempenhopor
dc.subjectGPUpor
dc.subjectMúlti-núcleospor
dc.subjectSpeeduppor
dc.titleOpenCL-MMP : codificação de imagens com sistemas com múltiplos núcleospor
dc.typemaster thesis
dspace.entity.typePublication
rcaap.rightsopenAccesspor
rcaap.typemasterThesispor

Ficheiros

Principais
A mostrar 1 - 1 de 1
A carregar...
Miniatura
Nome:
Joao_Filipe_Crespo_Silva.pdf
Tamanho:
4.43 MB
Formato:
Adobe Portable Document Format
Licença
A mostrar 1 - 1 de 1
Miniatura indisponível
Nome:
license.txt
Tamanho:
1.32 KB
Formato:
Item-specific license agreed upon to submission
Descrição: