Mostrar registro simples

dc.creatorFerrari, Renato Pizzinato
dc.date.accessioned2018-12-10T14:56:53Z
dc.date.available2018-12-10T14:56:53Z
dc.date.issued2016-03-28
dc.identifier.urihttp://repositorio.ufsm.br/handle/1/15054
dc.description.abstractThis master’s work focused on the development of a decision-making method with automated steps in order to assist the developer to take the following decision in a given hybrid system: in which system drive a particular task should be mapped, in order to obtain the best performance available hardware? Parallel programs target this work should be developed with the standard OpenACC, using compiler directives to express parallelism and is designed to facilitate programming in hybrid systems consisting of CPU and GPU.A approach used in this study is empirical, based on observations performance programs in different configurations and with different parameters and input data. The formulated proposals do not aim to guarantee the best decision mapping, but short, as far as possible, the decision process. Aiming to further discuss this issue of performance at the beginning of this master’s work were made experiments with a benchmark for OpenACC. The approach adopted in this study is hypothesis that performance CPU and GPU can be estimated for a given task at a given real hybrid system. This estimate can be approximated as, at worst, will be equivalent to an erroneous estimate made manually, which will be perceived and can be corrected for subsequent executions. Thus suggests that the performance estimation of CPU and GPU is made based jointly on the following criteria: size of the input data, complexity in time and space and performance target hardware benchmarks. To form a basis for decision support, it is proposed that a table is built and maintained on each line is a benchmark in OpenACC, possibly belonging to a suite of benchmarks as EPCC. His creation, which requires multiple runs of some benchmarks, occurs only once for a given hybrid system and its data are potentially utilized in different applications and executions. Aiming achieve the goal of shortening the process and require a minimum developer interference, has developed a tool that automates parts of this process. The assessment tool was carried out in order to test its functionality, limitations and quality of the forward estimates of scientific computing programs. Three programs, belonging to the benchmark Polybench were chosen. They are: gramschmidt (decomposition by Gram-Schmidt method), lu (LU decomposition) and durbin (system solution Toeplitz matrix). Each has different computational complexity. The effectiveness of automated decision can be verified by comparing the run times between Host, Device and Tools. The automated decision by the tool was determined that the Gram-Schmidt function execution on GPU when the order of the matrix was greater than or equal to 400. The difference between the observed order matrix 300 for Order 400 is calculated due to the difference between the estimated amount of arithmetic operations of the function correlation and Gram-Schmidt function. The effectiveness of the decision tool, which is based on the analysis of a benchmark is restricted to algorithms that have computational complexity in time similar to the benchmark. The differences in values of memory allocated by the benchmark and the parallelized program are due to parameters that are not easily measured, with for example the dependence between variables. Therefore it is recommended that the choice of the memory value used as a decision criterion is made through an iterative process, taking as initial parameter value obtained in the analysis of benchmark.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.subjectOpenACCpor
dc.subjectGPUpor
dc.subjectProcessamento paralelopor
dc.subjectOpenMPeng
dc.titleDecisão automatizada de mapeamento de tarefas com OpenACC em arquiteturas paralelas híbridaspor
dc.title.alternativeAutomated decision on task mapping with OpenACC over hybrid parallel architectureseng
dc.typeDissertaçãopor
dc.description.resumoO presente trabalho de mestrado concentrou-se no desenvolvimento de um método de decisão com etapas automatizadas, a fim de auxiliar o desenvolvedor a tomar a seguinte decisão em um dado sistema híbrido: em qual unidade do sistema deve ser mapeada uma determinada tarefa, para que se obtenha o melhor desempenho no hardware disponível? Os programas paralelos alvo deste trabalho devem ser desenvolvidos com o padrão OpenACC, que usa diretivas de compilação para expressar o paralelismo e foi criado para facilitar a programação em sistemas híbridos formados por CPU e GPU.A abordagem utilizada neste trabalho é empírica, baseada em observações do desempenho de programas em diferentes configurações e com diferentes parâmetros e dados de entrada. As propostas formuladas não têm por objetivo garantir a melhor decisão de mapeamento, mas sim abreviar, na medida do possível, o processo de decisão. Visando aprofundar esta questão de desempenho, no início deste trabalho de mestrado foram feitos experimentos com um benchmark para OpenACC. A abordagem adotada neste trabalho tem por hipótese que o desempenho em CPU e em GPU possa ser estimado para uma determinada tarefa, em um dado sistema híbrido real. Essa estimativa pode ser aproximada pois, no pior dos casos, será equivalente a uma estimativa errônea realizada manualmente, que será percebida e poderá ser corrigida para execuções subsequentes. Dessa forma propõe que a estimativa de desempenho em CPU e GPU seja feita baseando-se conjuntamente nos seguintes critérios:tamanho dos dados de entrada, complexidade no tempo e no espaço e desempenho do hardware alvo em benchmarks. Para formar uma base de apoio à decisão, propõe-se que seja construída e mantida uma tabela em que cada linha é um benchmark em OpenACC, possivelmente pertencente a uma suite de benchmarks como o EPCC. Sua criação, que requer várias execuções de alguns benchmarks, ocorre uma única vez para um dado sistema híbrido e seus dados são, potencialmente, aproveitados em diferentes aplicações e execuções.Visando atingir o objetivo de abreviar o processo e exigir um mínimo de interferência do desenvolvedor, desenvolveu-se uma ferramenta que automatiza partes desse processo. Foram escolhidos três programas, pertencentes ao benchmark Polybench. São eles: gramschmidt (decomposição pelo método de Gram-Schmidt), lu (decomposição LU) e durbin (solução de sistema com matriz de Toeplitz). Cada um deles possui complexidade computacional diferente. A eficácia da decisão automatizada pode ser verificada comparando-se os tempos de execução entre Host, Device e da Ferramenta. A decisão automatizada realizada pela ferramenta determinou que a execução da função de Gram-Schmidt fosse na GPU quando a ordem da matriz fosse maior ou igual 400. A diferença entre a ordem da matriz observada 300 para ordem calculada 400 é devida à diferença entre a quantidade de operações aritméticas estimadas da função de correlação e a função de Gram-Schmidt. A eficácia da ferramenta de decisão, que tem por base a análise de um benchmark é restringida aos algoritmos que possuem complexidade computacional no tempo similar ao do benchmark. As diferenças dos valores da memória alocada pelo benchmark e o programa paralelizado devem-se a parâmetros que não são facilmente mensuráveis, como por exemplo a dependência entre as variáveis. Portanto recomenda-se que a escolha do valor da memória utilizada como critério de decisão seja feita através de um processo iterativo, tomando como parâmetro inicial o valor obtido na análise do benchmark.por
dc.contributor.advisor1Charao, Andrea Schwertner
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/8251676116103188por
dc.contributor.referee1Lima, João Vicente Ferreira
dc.contributor.referee1Latteshttp://lattes.cnpq.br/6266546896929217por
dc.contributor.referee2Campos Velho, Haroldo Fraga de
dc.contributor.referee2Latteshttp://lattes.cnpq.br/5142426481528206por
dc.creator.Latteshttp://lattes.cnpq.br/0015021275451887por
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