Mostrar registro simples

dc.creatorJordan, Michael Guilherme
dc.date.accessioned2019-06-07T14:26:58Z
dc.date.available2019-06-07T14:26:58Z
dc.date.issued2019-02-22
dc.identifier.urihttp://repositorio.ufsm.br/handle/1/16789
dc.description.abstractMultimedia 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.eng
dc.languageporpor
dc.publisherUniversidade Federal de Santa Mariapor
dc.rightsAttribution-NonCommercial-NoDerivatives 4.0 International*
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0/*
dc.subjectDLPpor
dc.subjectSIMDpor
dc.subjectVetorizaçãopor
dc.subjectARM NEONpor
dc.subjectVectorizationeng
dc.titleAumentando os benefícios SIMD por meio de uma detecção de DLP em tempo de execução e energeticamente eficientepor
dc.title.alternativeBoosting SIMD benefits through a run-time and energy efficient DLP detectioneng
dc.typeDissertaçãopor
dc.description.resumoAplicaçõ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.por
dc.contributor.advisor1Rutzig, Mateus Beck
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/5220540043911446por
dc.contributor.referee1Beck Filho, Antonio Carlos Schneider
dc.contributor.referee1Latteshttp://lattes.cnpq.br/5446996798632062por
dc.contributor.referee2Barriquello, Carlos Henrique
dc.contributor.referee2Latteshttp://lattes.cnpq.br/4127396473202565por
dc.creator.Latteshttp://lattes.cnpq.br/2776272141772584por
dc.publisher.countryBrasilpor
dc.publisher.departmentCiência da Computaçãopor
dc.publisher.initialsUFSMpor
dc.publisher.programPrograma de Pós-Graduação em Ciência da Computaçãopor
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpor
dc.publisher.unidadeCentro de Tecnologiapor


Arquivos deste item

Thumbnail
Thumbnail

Este item aparece na(s) seguinte(s) coleção(s)

Mostrar registro simples

Attribution-NonCommercial-NoDerivatives 4.0 International
Exceto quando indicado o contrário, a licença deste item é descrito como Attribution-NonCommercial-NoDerivatives 4.0 International