Dissertação

LLVM Backend Support for Data StreamingExtensions EVALUATED

Unlimited Vector Extension é uma extensão nova que incorpora fluxos de dados e vetorização escalável. Para tal, implementa uma unidade de fluxo de dados que permite desconectar acessos à memória principal da computação, aliviando alguma pressão da linha principal do processador. Isto é feito através da codificação estática de padrões de acesso à memória em ciclos que permitem fluxos de dados através de um grupo especial de instruções descritivas, para transferir a correspondente geração de sequência de endereços para a unidade de fluxo de dados. Isto não só permite o código computacional de ser simplificado através da remoção de instruções de endereçamento à memória, mas também simplifica a vetorização do ciclo, aumentando a taxa de transferência dos núcleos de processamento. No entanto por ser uma nova extensão que implementa instruções específicas, ainda não possui suporte de compiladores para produzir o código específico. Esta tese visa dar os primeiros passos no desenvolvimento de um compilador para UVE instanciando um novo sub-alvo do backend LLVM do RISC-V e criando e codificando as instruções da extensão. Para fornecer uma integração inicial com o LLVM IR, um conjunto de intrínsecas é também proposto que combina com as instruções. Devido à incompatibilidade intrínseca entre o paradigma de fluxo de dados do UVE e a forma SSA do LLVM IR, é introduzida uma nova abordagem baseada em pseudo-instruções para superar este problema. O novo backend e as intrínsecas de LLVM IR foram avaliadas com um conjunto de padrões de desempenho que destacam as principais características introduzidas.
Processamento Vectorial Escalável, Computação em Fluxo de Dados, Representação Intermédia do LLVM, Backend do Compilador

novembro 19, 2021, 10:0

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

Nuno Filipe Simões Santos Moraes da Silva Neves

INESC-ID/IT-Coimbra

Investigador

ORIENTADOR

Pedro Filipe Zeferino Aidos Tomás

Departamento de Engenharia Electrotécnica e de Computadores (DEEC)

Professor Associado