24 Nov
14:00 Defesa de Doutorado Sala 85 do IC2
Tema
Otimização do Particionamento de Tensores para Convolução em NPUs Multicore
Aluno
Rafael Cardoso Fernandes Sousa
Orientador / Docente
Guido Costa Souza de Araújo - Coorientador: Márcio Machado Pereira
Breve resumo
Embora a geração de código para modelos de Redes Neurais Convolucionais (CNNs) tenha sido extensivamente estudada, a realização de divisão eficiente de dados e paralelização para Unidades de Processamento Neural (NPUs) multicore e com memórias internas restritas ainda é um problema desafiador. Dado o tamanho dos tensores de entrada/saída das convoluções e o pequeno espaço das memórias internas das NPUs, minimizar as transações de memória ao mesmo tempo em que se maximiza o paralelismo e a utilização das unidades de multiplicação e acumulação (MAC) são fundamentais para qualquer solução eficaz. Esta tese propõe um passo de otimização no compilador TensorFlow XLA/LLVM para NPUs multicore, chamado Otimização de Divisão de Tensores (TSO), que: (a) maximiza o paralelismo das convoluções e o reuso de memória entre os núcleos das NPUs, e (b) reduz as transferências de dados entre o hospedeiro (host) e as memórias internas das NPUs usando estimativas de tempo baseado em rajadas (bursts) de mémoria DRAM para guiar a divisão dos tensores. Para avaliar a abordagem proposta, foram realizados experimentos usando o Processador Neuromórfico (NMP), uma NPU multicore contendo 32 núcleos RISC-V estendidos com novas instruções de CNN. Os resultados experimentais mostram que o TSO é capaz de identificar a melhor divisão de tensores que minimiza o tempo de execução para um conjunto de modelos de CNN. Acelerações de até 21,7% foram obtidas ao comparar a técnica baseada em rajadas do TSO com uma abordagem de divisão de dados sem rajadas. O algoritmo também foi adaptado para o framework de Aprendizado de Máquina Glow para validar a generalidade da abordagem TSO. O desempenho dos modelos foi medido tanto nos compiladores Glow quanto TensorFlow XLA/LLVM, revelando resultados similares.
Banca examinadora
Titulares:
Guido Costa Souza de Araújo | IC/UNICAMP |
Márcio Bastos Castro | INE/UFSC |
Alfredo Goldman vel Lejbman | IME/USP |
Hervé Cedric Yviquel | IC/UNICAMP |
Lucas Francisco Wanner | IC/UNICAMP |
Suplentes:
Sandro Rigo | IC/UNICAMP |
Vanderlei Bonato | ICMC/USP |
Alexandro José Baldassin | IGCE/UNESP |