Ajuste nas dimensões de kernels para dispositivos aceleradores com base na análise de características arquiteturais e na utilização de ferramenta de autotuning

Currently there is a performance gap between the Central Processing Unit (CPU) and the Graphics Processing Unit (GPU), this gap has made developers have an interest in applications that exploit the joint work between CPUs and GPUs. However, to create such applications developers face challenges rang...

ver descrição completa

Autor principal: Queiroz Filho, João Martins de
Formato: Trabalho de Conclusão de Curso (Graduação)
Idioma: Português
Publicado em: Universidade Tecnológica Federal do Paraná 2020
Assuntos:
Acesso em linha: http://repositorio.utfpr.edu.br/jspui/handle/1/6010
Tags: Adicionar Tag
Sem tags, seja o primeiro a adicionar uma tag!
Resumo: Currently there is a performance gap between the Central Processing Unit (CPU) and the Graphics Processing Unit (GPU), this gap has made developers have an interest in applications that exploit the joint work between CPUs and GPUs. However, to create such applications developers face challenges ranging from transforming legacy code to multicore systems until they find the optimal configuration for the target device architecture. In this way, this work has as its objective to analyze the choice of configurations for the arrangement of threads. We are using software tools in an attempt to extract the best performance for device accelerators, in this case GPUs. To achieve this goal a set of algorithms of the Polybench, KernelGen and NVIDIA Samples were used which had their kernels tested with the OpenTuner autotuning tool. Benchmarks were executed and the results of some metrics were collected using nvprof NVIDIA’s profiling tool to choose the best configuration for each context. The results suggest that the most efficient way to find the best configuration for the architecture is to use autotuning tools, because for certain sizes it becomes impracticable to choose the configuration through exhaustive search or random choices.