Dissertação

Compilation of OpenCL Programs for Stream Processing Architectures EVALUATED

A arquitectura de stream e o modelo de execução de stream optimizam a utilização da memória e minimizam os tempos de espera do processador ao explorarem os múltiplos tipos de localidade em aplicações de stream: localidades temporal, espacial, e de instruções. Estes são o foco principal deste trabalho. Os sistemas heterogéneos podem conter dispositivos computacionais que implementam diferentes arquitecturas, e ter os detalhes da arquitectura de cada dispositivo em conta pode revelar-se uma tarefa árdua quando se desenvolve software para estes sistemas. O objectivo deste trabalho é providenciar um ambiente de programação de sistemas heterogéneos tendo como alvo dispositivos de stream. Propõe-se o StreamOCL, uma implementação da interface e da linguagem do OpenCL. A abordagem proposta permite às aplicações explorar as vantagens do processamento em stream, sem que estas sejam implementadas especificamente para dispositivos de stream. O modelo poliedral é usado para analisar padrões de acesso à memória em kernels OpenCL, e capturar a localidade em aplicações OpenCL, de modo a executá-las de acordo com o modelo de stream. Os resultados validam a abordagem, uma vez que a implementação actual foi capaz de capturar os padrões de acesso à memória de uma aplicação baseline de stream. Também foi alcançado um speedup de 2x em tempos de execução de kernels na plataforma de testes actual, ao agendá-los de acordo com o modelo de execução de stream. Embora os resultados sejam positivos, o overhead associado à computação de dependências actualmente não é compensado pelo ganho no desempenho da execução de kernels.
Arquitectura de Stream, OpenCL, Análise Poliedral, Grafo de Dependências de Baixo Nível

Junho 3, 2015, 16:30

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

David Manuel Martins de Matos

Departamento de Engenharia Informática (DEI)

Professor Auxiliar

ORIENTADOR

Pedro Filipe Zeferino Tomás

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

Professor Auxiliar