Uma API de comunicação para aceleração por hardware de simuladores moleculares - Sartin, Maicon Aparecido (2009)
A evolução da tecnologia de fabricação de circuitos integrados continua obedecendo à lei de Moore. Entretanto, aplicações científicas cada vez mais necessitam de recursos de alto desempenho computacional, motivando pesquisadores a propor a aceleração por hardware dedicado para aumentar o desempenho destas aplicações. Freqüentemente, devido à necessidade de rapidez no projeto de tais aplicações, empregam-se técnicas de projeto com emprego de hardware reconfigurável. Atualmente, há um grande aumento em pesquisas de biofísica molecular com o objetivo principal na concepção de fármacos. Porém, para se chegar até a droga e a possível cura de alguma doença, diversos procedimentos devem ser empreendidos. Como exemplos podem ser citados experimentos para determinar o comportamento de moléculas simples ou de proteínas. As simulações por dinâmica molecular aportam uma variedade de informações do sistema molecular em questão. Entretanto, para se executar estas simulações é necessário o auxílio de recursos computacionais de alto desempenho, devido à elevada quantidade de cálculos a efetuar, à quantidade de informações geradas e à necessidade destas informações e resultados em períodos curtos de tempo, tornando a exigência por computação de alto desempenho uma característica básica desta área. Para suprir a exigência computacional de simulações por dinâmica molecular existem plataformas baseadas em FPGAs, que são largamente utilizadas como aceleradores de hardware de aplicações com alto custo computacional. FPGAs são amplamente disponíveis e permitem realizar rapidamente o projeto e a implementação de hardware com alto desempenho se comparado a software executando em processadores de propósito geral. A principal contribuição deste trabalho é uma proposta de método de comunicação entre uma máquina hospedeira e uma plataforma de hardware reconfigurável baseada em FPGAs, sugerindo uma arquitetura de software para integração das plataformas de software e o hardware usado para acelerar aplicações de simulação por dinâmica molecular. A proposta foi implementada como uma API para organização da comunicação entre as plataformas em níveis de abstração de serviço, visando tornar as camadas de software independentes do hardware.