Aumentando os benefícios SIMD por meio de uma detecção de DLP em tempo de execução e energeticamente eficiente
| Main Author: | |
|---|---|
| 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 |