Download como arquivo ICAL
"Performance Prediction of Applications Executed on GPUs using a Simple Analytical Model and Machine Learning Techniques"
Segunda-feira 25 Junho 2018, 14:00
Contato: Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo.

Candidato: Marcos Túlio Amaris Gonzalez

 

Orientador: Prof. Dr. Alfredo Goldman Vel Lejbman

 

Resumo: As plataformas paralelas e distribuídas de computação de alto desempenho disponíveis hoje se
tornaram mais e mais heterogêneas (CPUs, GPUs, etc). As Unidades de processamento gráfico são
co-processadores especializados para acelerar operações vetoriais em paralelo. As GPUs tem um
alto grau de paralelismo e conseguem executar milhares ou milhões de threads concorrentemente
e ocultar a latência do escalonador. Elas tem uma profunda hierarquia de memória de diferentes
tipos e também uma profunda configuração da memória hierárquica. A predição de desempenho de
aplicações executadas nesses dispositivos é um grande desafio e é essencial para o uso eficiente dos
recursos computacionais de máquinas com esses co-processadores. Existem diferentes abordagens
para fazer essa predição, como técnicas de modelagem analática e aprendizado de máquina.
Nesta tese, nós apresentamos uma analise e caracterização do desempenho de aplicações executadas
em Unidades de Processamento Gráfico de propósito geral. Nós propomos um simples e
intuitivo modelo fundamentado no modelo BSP para predizer a execução de aplicações em CUDA
sobre diferentes GPUs. O modelo está baseado no número de computações e acessos à memória
da GPU, com informação adicional do uso das memórias cachês obtidas do processo de profiling.
Logo, nós comparamos três diferentes enfoques de máquinas de aprendizado (ML): Regressão Linear,
Máquinas de Vetores de Suporte e Florestas Aleatórias com o nosso modelo analítico proposto.
Esta comparação é feita em dois diferentes contextos, primeiro, dados de entrada ou features para as
técnicas de aprendizado de máquinas eram as mesmas que no modelo analítico, e, segundo, usando
um processo de extração de features, usando analise de correlação e clustering hierarquizado.
Nós mostramos que aplicações executadas em GPUs que escalam regularmente são fáceis de
predizer com simples modelos analíticos e um parâmetro de ajuste. Esse parâmetro pode ser usado
para predizer essas aplicações em outras GPUs. Nós também demostramos que abordagens de ML
proveem predições raçoáveis para diferentes cases e técnicas de ML não exigem um conhecimento
detalhado do código da aplicação, características de hardware ou modelagens explicita. Consequentemente,
sempre e quando um banco de dados com informação de profiling esteja disponível
ou possa ser gerado, técnicas de ML podem ser úteis para aplicar uma predição automatizado de
desempenho para escalonadores de aplicações em arquiteturas heterogêneas contendo GPUs.
Palavras-chaves: Predição de Desempenho, Máquinas de Aprendizado, Modelo BSP, Unidades
de Processamento Gráfico, CUDA.

Local Sala 05 - Bloco B do IME-USP