Document details

Sistema de multiprocessamento para simulação de N-corpos em FPGA

Author(s): Pereira, Ricardo Joel Martins cv logo 1

Date: 2013

Persistent ID: http://hdl.handle.net/10400.21/3366

Origin: Repositório Científico do Instituto Politécnico de Lisboa

Subject(s): Simulação de N-corpos; Núcleo gravitacional; Unidade de cálculo com pipeline; FPGA; N-body simulation; Gravitational kernel; Pipelined calculus unit


Description
Este projeto tem como objetivo o desenvolvimento de uma arquitetura de multiprocessamento dedicada à simulação de sistemas baseados na interação entre N-corpos. O sistema é desenvolvido numa placa de desenvolvimento com FPGA, tendo por base módulos lógicosdedicados ao cálculo das expressões base da simulação. Escolhido como problema exemplo a evolução de um sistema de interação gravítica de Ncorpos, são analisados os algoritmos de obtenção do valor das forças envolvidas e algoritmos de integração numérica, tendo em vista obter uma descrição do peso computacional e precisão dos mesmos. São analisados os recursos presentes numa FPGA de forma a perceber a sua influência na implementação dos circuitos lógicos. São também analisados tipos de representações numéricas para entender qual melhor se adapta ao problema em causa. Numa segunda fase é analisado o compromisso entre a precisão numérica e a área dos núcleos a desenvolver. Esta análise permite, dada uma FPGA com uma determinada quantidade de recursos internos, obter uma estimativa da quantidade de núcleos de processamento realizáveis. Numa terceira e última fase, é criada uma arquitetura de multiprocessamento com módulos dedicados, onde é executado o algoritmo. Uma análise do sistema completo permite obter uma descrição dos recursos utilizados pelo sistema, bem como da taxa de cálculo final. O sistema desenvolvido é modular e configurável em vários parâmetros internos, entre os quais o formato numérico utilizado, obtendo-se um sistema adaptável às necessidades do utilizador. Éutilizada a memória interna da FPGA para o armazenamento dos dados de simulação. A interface com o exterior é uma porta série, que é uma interface genérica conhecida com bastantes aplicações de utilização já desenvolvidas. É atingida uma capacidade de cálculo média de 5.3 GFLOPS, mas esta pode ser aumentada utilizando uma FPGA de maior capacidade que a usada no desenvolvimento deste trabalho, uma Virtex-4 XC4VSX35. O sistema é também facilmente portável para famílias mais recentes de FPGA, possibilitando taxas de cálculo ainda superiores. Para uma FPGA XC7VX980T, da família Virtex-7, a capacidade de cálculo estimada é de 49,5 GFLOPS. This project aims to develop a multiprocessing architecture dedicated to simulate N-body interaction based systems. The system is developed on a FPGA development board, having as base logic modules dedicated to the calculus of the base expressions of the simulation. Chosen as example problem the evolution of a gravitational interaction N-body system, algorithms for obtaining the value of involved forces and numerical integration algorithms are analyzed, having in mind obtaining a computational weight and accuracy description of those. The resources present in a FPGA are analyzed as a way to understand their influence on logic circuits implementation. Numeric representation types are also analyzed to understand which one best fits the problem at hand. On a second phase the compromise between numerical precision and the area of the cores to develop is analyzed. This analysis allows to, given a FPGA with a certain amount of internal resources, obtain an estimate of the amount of processing cores realizable. In a third and final phase, a dedicated module multiprocessing architecture, in which the algorithm is executed, is created. An analysis of the complete system allows for a description of used resources, as well as of the final calculation rate. The developed system is modular and configurable in various internal parameters, including the numeric format used, resulting in a system adaptable to user needs. Having in sight to obtain a system-on-a-chip, the internal memory of the FPGA is used to store the simulation data. The interface with the outside is a serial port, which is a known generic interface with many use applications already developed. An average calculation rate of 5.3 GFLOPS is achieved, but this can be increased using a FPGA with a higher capacity that the one used in the development of this work, a XC4VSX35 Virtex-4. The system is also easily portable to newer FPGA families, allowing calculation rates even higher. For a XC7VX980T FPGA, from the Virtex-7 family, the estimated calculation rate is49.5 GFLOPS.
Document Type Master Thesis
Language Portuguese
Advisor(s) Véstias, Mário Pereira
delicious logo  facebook logo  linkedin logo  twitter logo 
degois logo
mendeley logo


    Financiadores do RCAAP

Fundação para a Ciência e a Tecnologia Universidade do Minho   Governo Português Ministério da Educação e Ciência Programa Operacional da Sociedade do Conhecimento EU