Aumentando os benefícios SIMD por meio de uma detecção de DLP em tempo de execução e energeticamente eficiente

Bibliographic Details
Main Author: Jordan, Michael Guilherme
Publication Date: 2019
Format: Master thesis
Language: por
Source: Manancial - Repositório Digital da UFSM
dARK ID: ark:/26339/0013000003wgp
Download full: http://repositorio.ufsm.br/handle/1/16789
Summary: Multimedia applications have been widely present in embedded devices. Due to their intrinsic nature, such application domain is benefited from Data Level Parallelism (DLP). In order to improve performance-energy tradeoff, current processors enable DLP by coupling SIMD (Single Instruction Multiple Data) engines, such as Intel AVX, ARM NEON and IBM Altivec. Special libraries and compilers are used to support DLP execution on such engines. However, timing overhead on hand coding is inevitable since most software developers are not skilled to extract DLP using unfamiliar libraries. Considering the auto-vectorization through compiler, although improving software productivity, it breaks software compatibility. Besides, both methods are limited to static code analysis, which compromises performance gains. In this dissertation, we propose a runtime DLP detection named as Dynamic SIMD Assembler (DSA), which transparently identifies vectorizable code regions to execute in the ARM NEON engine. Due to its dynamic fashion, DSA keeps software compatibility and avoids timing overhead on software developing process. Results show that DSA outperforms ARM NEON auto-vectorization compiler by 32% since it applies the partial vectorization of loops and covers wider vectorizable regions, such as Dynamic Range, Sentinel and Conditional Loops. In addition, DSA outperforms hand-vectorized code using ARM library by 26% reducing 45% of energy consumption with no penalties over software development time.
id UFSM_056df7c09a09af6cde290fc512b0551e
oai_identifier_str oai:repositorio.ufsm.br:1/16789
network_acronym_str UFSM
network_name_str Manancial - Repositório Digital da UFSM
repository_id_str
spelling Aumentando os benefícios SIMD por meio de uma detecção de DLP em tempo de execução e energeticamente eficienteBoosting SIMD benefits through a run-time and energy efficient DLP detectionDLPSIMDVetorizaçãoARM NEONVectorizationCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOMultimedia applications have been widely present in embedded devices. Due to their intrinsic nature, such application domain is benefited from Data Level Parallelism (DLP). In order to improve performance-energy tradeoff, current processors enable DLP by coupling SIMD (Single Instruction Multiple Data) engines, such as Intel AVX, ARM NEON and IBM Altivec. Special libraries and compilers are used to support DLP execution on such engines. However, timing overhead on hand coding is inevitable since most software developers are not skilled to extract DLP using unfamiliar libraries. Considering the auto-vectorization through compiler, although improving software productivity, it breaks software compatibility. Besides, both methods are limited to static code analysis, which compromises performance gains. In this dissertation, we propose a runtime DLP detection named as Dynamic SIMD Assembler (DSA), which transparently identifies vectorizable code regions to execute in the ARM NEON engine. Due to its dynamic fashion, DSA keeps software compatibility and avoids timing overhead on software developing process. Results show that DSA outperforms ARM NEON auto-vectorization compiler by 32% since it applies the partial vectorization of loops and covers wider vectorizable regions, such as Dynamic Range, Sentinel and Conditional Loops. In addition, DSA outperforms hand-vectorized code using ARM library by 26% reducing 45% of energy consumption with no penalties over software development time.Aplicações multimídia estão amplamente presentes em dispositivos embarcados. Devido à sua natureza intrínseca, este nicho de aplicação é beneficiado pelo Paralelismo a Nível de Dados (DLP). Para melhorar a relação performance-energia, os processadores atuais habilitam o DLP pelo acoplamento de engines SIMD (Single Instruction Multiple Data), como Intel AVX, ARM NEON and IBM Altivec. Bibliotecas e compiladores especiais são usados para suportar a execução de DLP nesses mecanismos. No entanto, a sobrecarga de tempo aplicada a vetorização através de programação manual é inevitável, uma vez que a maioria dos desenvolvedores de software não tem habilidade para extrair o DLP usando bibliotecas desconhecidas. Considerando a auto-vetorização através do uso de compilador, apesar de melhorar a produtividade de software, tal método quebra compatibilidade de software. Além disso, ambos os métodos estão limitados à análise de código estático, o que compromete os ganhos de desempenho. Nesta dissertação, propomos uma detecção de DLP em tempo de execução chamada Dynamic SIMD Assembler (DSA), que identifica de forma transparente as regiões de código que podem ser vetorizadas para serem executadas no mecanismo ARM NEON. Devido à sua forma dinâmica, a DSA mantém compatibilidade de software e evita a sobrecarga de tempo no processo de desenvolvimento de software. Os resultados mostram que a DSA supera a auto-vetorização através do uso do compilador ARM NEON em 32%, pois aplica a vetorização parcial de loops e abrange mais regiões vetorizáveis, como Loops de Tamanho Dinâmico, Loops Sentinela e Loops Condicionais. Além disso, a DSA supera a programação manual através do uso da biblioteca ARM em 26% reduzindo 45% do consumo de energia sem penalidades em relação ao tempo de desenvolvimento do software.Universidade Federal de Santa MariaBrasilCiência da ComputaçãoUFSMPrograma de Pós-Graduação em Ciência da ComputaçãoCentro de TecnologiaRutzig, Mateus Beckhttp://lattes.cnpq.br/5220540043911446Beck Filho, Antonio Carlos Schneiderhttp://lattes.cnpq.br/5446996798632062Barriquello, Carlos Henriquehttp://lattes.cnpq.br/4127396473202565Jordan, Michael Guilherme2019-06-07T14:26:58Z2019-06-07T14:26:58Z2019-02-22info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://repositorio.ufsm.br/handle/1/16789ark:/26339/0013000003wgpporAttribution-NonCommercial-NoDerivatives 4.0 Internationalinfo:eu-repo/semantics/openAccessreponame:Manancial - Repositório Digital da UFSMinstname:Universidade Federal de Santa Maria (UFSM)instacron:UFSM2019-06-08T06:00:34Zoai:repositorio.ufsm.br:1/16789Biblioteca Digital de Teses e Dissertaçõeshttps://repositorio.ufsm.br/PUBhttps://repositorio.ufsm.br/oai/requestatendimento.sib@ufsm.br||tedebc@gmail.com||manancial@ufsm.bropendoar:2019-06-08T06:00:34Manancial - Repositório Digital da UFSM - Universidade Federal de Santa Maria (UFSM)false
dc.title.none.fl_str_mv Aumentando os benefícios SIMD por meio de uma detecção de DLP em tempo de execução e energeticamente eficiente
Boosting SIMD benefits through a run-time and energy efficient DLP detection
title Aumentando os benefícios SIMD por meio de uma detecção de DLP em tempo de execução e energeticamente eficiente
spellingShingle Aumentando os benefícios SIMD por meio de uma detecção de DLP em tempo de execução e energeticamente eficiente
Jordan, Michael Guilherme
DLP
SIMD
Vetorização
ARM NEON
Vectorization
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
title_short Aumentando os benefícios SIMD por meio de uma detecção de DLP em tempo de execução e energeticamente eficiente
title_full Aumentando os benefícios SIMD por meio de uma detecção de DLP em tempo de execução e energeticamente eficiente
title_fullStr Aumentando os benefícios SIMD por meio de uma detecção de DLP em tempo de execução e energeticamente eficiente
title_full_unstemmed Aumentando os benefícios SIMD por meio de uma detecção de DLP em tempo de execução e energeticamente eficiente
title_sort Aumentando os benefícios SIMD por meio de uma detecção de DLP em tempo de execução e energeticamente eficiente
author Jordan, Michael Guilherme
author_facet Jordan, Michael Guilherme
author_role author
dc.contributor.none.fl_str_mv Rutzig, Mateus Beck
http://lattes.cnpq.br/5220540043911446
Beck Filho, Antonio Carlos Schneider
http://lattes.cnpq.br/5446996798632062
Barriquello, Carlos Henrique
http://lattes.cnpq.br/4127396473202565
dc.contributor.author.fl_str_mv Jordan, Michael Guilherme
dc.subject.por.fl_str_mv DLP
SIMD
Vetorização
ARM NEON
Vectorization
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic DLP
SIMD
Vetorização
ARM NEON
Vectorization
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description Multimedia applications have been widely present in embedded devices. Due to their intrinsic nature, such application domain is benefited from Data Level Parallelism (DLP). In order to improve performance-energy tradeoff, current processors enable DLP by coupling SIMD (Single Instruction Multiple Data) engines, such as Intel AVX, ARM NEON and IBM Altivec. Special libraries and compilers are used to support DLP execution on such engines. However, timing overhead on hand coding is inevitable since most software developers are not skilled to extract DLP using unfamiliar libraries. Considering the auto-vectorization through compiler, although improving software productivity, it breaks software compatibility. Besides, both methods are limited to static code analysis, which compromises performance gains. In this dissertation, we propose a runtime DLP detection named as Dynamic SIMD Assembler (DSA), which transparently identifies vectorizable code regions to execute in the ARM NEON engine. Due to its dynamic fashion, DSA keeps software compatibility and avoids timing overhead on software developing process. Results show that DSA outperforms ARM NEON auto-vectorization compiler by 32% since it applies the partial vectorization of loops and covers wider vectorizable regions, such as Dynamic Range, Sentinel and Conditional Loops. In addition, DSA outperforms hand-vectorized code using ARM library by 26% reducing 45% of energy consumption with no penalties over software development time.
publishDate 2019
dc.date.none.fl_str_mv 2019-06-07T14:26:58Z
2019-06-07T14:26:58Z
2019-02-22
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://repositorio.ufsm.br/handle/1/16789
dc.identifier.dark.fl_str_mv ark:/26339/0013000003wgp
url http://repositorio.ufsm.br/handle/1/16789
identifier_str_mv ark:/26339/0013000003wgp
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivatives 4.0 International
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivatives 4.0 International
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Santa Maria
Brasil
Ciência da Computação
UFSM
Programa de Pós-Graduação em Ciência da Computação
Centro de Tecnologia
publisher.none.fl_str_mv Universidade Federal de Santa Maria
Brasil
Ciência da Computação
UFSM
Programa de Pós-Graduação em Ciência da Computação
Centro de Tecnologia
dc.source.none.fl_str_mv reponame:Manancial - Repositório Digital da UFSM
instname:Universidade Federal de Santa Maria (UFSM)
instacron:UFSM
instname_str Universidade Federal de Santa Maria (UFSM)
instacron_str UFSM
institution UFSM
reponame_str Manancial - Repositório Digital da UFSM
collection Manancial - Repositório Digital da UFSM
repository.name.fl_str_mv Manancial - Repositório Digital da UFSM - Universidade Federal de Santa Maria (UFSM)
repository.mail.fl_str_mv atendimento.sib@ufsm.br||tedebc@gmail.com||manancial@ufsm.br
_version_ 1847103434201759744