OpenCL-MMP : codificação de imagens com sistemas com múltiplos núcleos
Autor(a) principal: | |
---|---|
Data de Publicação: | 2015 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
Texto Completo: | http://hdl.handle.net/10400.8/1383 |
Resumo: | Esta 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. |
id |
RCAP_f4d6688a4f3568cb80ccb958e087a935 |
---|---|
oai_identifier_str |
oai:iconline.ipleiria.pt:10400.8/1383 |
network_acronym_str |
RCAP |
network_name_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
repository_id_str |
https://opendoar.ac.uk/repository/7160 |
spelling |
OpenCL-MMP : codificação de imagens com sistemas com múltiplos núcleosOpenCLCUDAComputação de alto desempenhoGPUMúlti-núcleosSpeedupEsta 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.Instituto Politécnico de LeiriaRepositório IC-OnlineSilva, João Filipe Crespo2015-07-10T09:50:38Z20152015-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10400.8/1383urn:tid:201878470porinfo:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2025-02-25T15:13:53Zoai:iconline.ipleiria.pt:10400.8/1383Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T20:53:03.058946Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse |
dc.title.none.fl_str_mv |
OpenCL-MMP : codificação de imagens com sistemas com múltiplos núcleos |
title |
OpenCL-MMP : codificação de imagens com sistemas com múltiplos núcleos |
spellingShingle |
OpenCL-MMP : codificação de imagens com sistemas com múltiplos núcleos Silva, João Filipe Crespo OpenCL CUDA Computação de alto desempenho GPU Múlti-núcleos Speedup |
title_short |
OpenCL-MMP : codificação de imagens com sistemas com múltiplos núcleos |
title_full |
OpenCL-MMP : codificação de imagens com sistemas com múltiplos núcleos |
title_fullStr |
OpenCL-MMP : codificação de imagens com sistemas com múltiplos núcleos |
title_full_unstemmed |
OpenCL-MMP : codificação de imagens com sistemas com múltiplos núcleos |
title_sort |
OpenCL-MMP : codificação de imagens com sistemas com múltiplos núcleos |
author |
Silva, João Filipe Crespo |
author_facet |
Silva, João Filipe Crespo |
author_role |
author |
dc.contributor.none.fl_str_mv |
Repositório IC-Online |
dc.contributor.author.fl_str_mv |
Silva, João Filipe Crespo |
dc.subject.por.fl_str_mv |
OpenCL CUDA Computação de alto desempenho GPU Múlti-núcleos Speedup |
topic |
OpenCL CUDA Computação de alto desempenho GPU Múlti-núcleos Speedup |
description |
Esta 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. |
publishDate |
2015 |
dc.date.none.fl_str_mv |
2015-07-10T09:50:38Z 2015 2015-01-01T00:00:00Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10400.8/1383 urn:tid:201878470 |
url |
http://hdl.handle.net/10400.8/1383 |
identifier_str_mv |
urn:tid:201878470 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.publisher.none.fl_str_mv |
Instituto Politécnico de Leiria |
publisher.none.fl_str_mv |
Instituto Politécnico de Leiria |
dc.source.none.fl_str_mv |
reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia instacron:RCAAP |
instname_str |
FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
collection |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
repository.name.fl_str_mv |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
repository.mail.fl_str_mv |
info@rcaap.pt |
_version_ |
1833598932643479553 |