Please use this identifier to cite or link to this item: http://repositorio.unicamp.br/jspui/handle/REPOSIP/333141
Type: DISSERTAÇÃO DIGITAL
Degree Level: Mestrado
Title: Automatic offloading to FPGA accelerators : Transferência automática para aceleradores FPGA
Title Alternative: Transferência automática para aceleradores FPGA
Author: Ceissler, Ciro Luiz Araujo, 1986-
Advisor: Araújo, Guido Costa Souza de, 1962-
Abstract: Resumo: O aumento da quantidade de recursos computacionais necessários para executar as tarefas nas modernas infraestrutura na nuvem coloca uma pressão no projeto de nós eficientes no consumo de potência num cluster. Uma forte integração entre hardware, software, rede e sistemas para cada aplicação é necessária para aumentar o uso computacional de uma maneira eficaz, mas para combiná-los é necessário muito tempo de desenvolvimento além do conhecimento profundo de cada um deles . Para solucionar este problema, diversas empresas propuseram uma arquitetura com CPU-FPGA integradas, e.g., Intel HARP e Microsoft Catapult, nas quais executam de maneira eficientes, levando em consideração potência e performance, além de oferecer flexibilidade. Infelizmente, a integração de aplicações aceleradas em FPGA com o software é um tarefa desafiadora, que não possui um modelo de programação simplificado. Esta dissertação discute em detalhes o HardCloud, uma extensão da API do OpenMP para facilitar a transferência da computação para os aceleradores FPGA. A versão 4.0 da especificação do OpenMP introduz novas diretivas para possibilitar a transferência da computação para dispostivos heterogêneos (e.g., GPUs, co-processadores criptográficos ou DSP), apesar disso a especificação não contém a informação necessária para mover a computação para FPGA. Uma modificação na geração do código de execução do OpenMP, no compilador Clang/LLVM, estende o modelo de programação para suportar a computação na plataforma Intel HARP 2, especificando uma aplicação FPGA gerada previamente. Além disso, uma abstração da interface de hardware concede um método fácil para conectar um IP com o OpenMP, facilitando a leitura ou escrita das váriaves compartilhadas, enquanto gerência o acesso às interfaces da FPGA. Uma vez que a geração de um arquivo, contendo os bits para programar a FPGA, é uma atividade que consome muita memória e CPU demorando várias horas, o desenvolvedor pode selecionador o simulador ao invés da plataforma para realizar uma rápida avaliação. Adicionalmente, um mecanismo automático de verificação e validação do hardware compara os valores da variáveis de saída do hardware e software. Resultados experimentais usando o compilador Clang/LLVM e a arquitetura Intel HARP 2 demonstram que o uso para esta tarefa pode ser consideravelmente simplificado enquanto produz ganho de desempenho para um conjunto de aplicações conhecidas

Abstract: The sheer amount of computing resources required to run modern cloud workloads has put a lot of pressure on the design of power efficient cluster nodes. A deep integration among hardware, software, network, and systems for each application is necessary to increase the computational usage effectiveness, but to combine them requires a lot of development time and in-depth knowledge. To address this problem, many vendors have proposed CPU-FPGA integrated architectures, e.g., Intel HARP and Microsoft Catapult, that can deliver efficient power-performance executions and flexibility. Unfortunately, the integration of FPGA accelerated applications to software is a challenging endeavor that does not have a seamless programming model. This dissertation discusses in details the HardCloud, an extension of the OpenMP API that eases the task of offloading computation to FPGA accelerators. The OpenMP 4.0 specification introduces new directives that enable the transfer of computation to heterogeneous computing devices (e.g., GPUs, cryptography co-processors or DSP), although the specification does not provide all necessary information to accomplish the offload to FPGA. An OpenMP runtime code generation modification, inside the Clang/LLVM compiler, extends this programming model to support Intel HARP 2 platform offload by specifying a pre-generated FPGA application. A hardware interface abstraction provides an effortless method to connect the IP core with the OpenMP runtime and reading or writing the shared variables in a seamless way, while manages the access to the FPGA interfaces. Since the FPGA bitstream generation is CPU/memory intensive and demands many hours, the developer is capable of select the simulator instead of the platform to a rapid evaluation. Additionally, an automatic mechanism to verify and validate the hardware, which compares the hardware and software output variables values, is available and reduce the test environment development effort. Experimental results using the Clang/LLVM compiler and the Intel HARP 2 architecture show that HardCloud can considerably simplify such task while producing good speed-ups for a set of well-known applications
Subject: OpenMP (Programação paralela)
Compiladores (Computadores)
FPGA (Field Programmable Gate Array)
Intel HARP (Microprocessadores)
Language: Português
Editor: [s.n.]
Citation: CEISSLER, Ciro Luiz Araujo. Automatic offloading to FPGA accelerators: Transferência automática para aceleradores FPGA. 2018. 1 recurso online (51 p.). Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP.
Date Issue: 2018
Appears in Collections:IC - Tese e Dissertação

Files in This Item:
File SizeFormat 
Ceissler_CiroLuizAraujo_M.pdf1.67 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.