Sistema de multiprocessamento para simulação de N-corpos em FPGA
Contribuinte(s) |
Véstias, Mário Pereira |
---|---|
Data(s) |
12/03/2014
12/03/2014
01/12/2013
|
Resumo |
Trabalho Final de Mestrado para obtenção do grau de Mestre em Engenharia de Electrónica e Telecomunicações 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. Abstract: 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. |
Identificador |
PEREIRA, Ricardo Joel Martins - Sistema de multiprocessamento para simulação de N-corpos em FPGA. Lisboa: Instituto Superior de Engenharia de Lisboa, 2013. Dissertação de mestrado. http://hdl.handle.net/10400.21/3366 201229943 |
Idioma(s) |
por |
Direitos |
openAccess |
Palavras-Chave | #Simulação de N-corpos #Núcleo gravitacional #Unidade de cálculo com pipeline #FPGA #N-body simulation #Gravitational kernel #Pipelined calculus unit |
Tipo |
masterThesis |
Publicador |
Instituto Superior de Engenharia de Lisboa |