Aplicação de Bibliotecas para Cômputo Numérico de Equações Diferenciais em Arquitetura CUDA

Gledson Oliveira

Resumo


Abordar numericamente problemas que utilizam equações diferenciais ordinárias (ODE
- Ordinary Differential Equation ) tornou-se inevitável, visto que atualmente muitos
deles atingiram tal complexidade que o uso de métodos analíticos tornou-se inviável
(Sandes, 2012). Um tratamento computacional a partir de bibliotecas de cômputo
numérico são adequadas a esta situação, pois elas possuem uma conjunto de algoritmos
prontos para encontrar uma solução de diversos casos, otimizando assim o trabalho de
produção.
Atualmente, está em desenvolvimento no Laboratório de Computação de Alto
Desempenho (LaCAD) da Universidade Estadual de Feira de Santana (UEFS), um
trabalho de pesquisa com bibliotecas numéricas de alto desempenho que solucionam
numericamente ODEs, usando como caso de estudo um sistema de equações
diferenciais de segunda ordem que calculam a distância relativa entre um detrito
espacial e um satélite. Este modelo é utilizado na astronomia para calcular possibilidade
de colisões entre satélites e detritos (Jesus, 2012). Tal problema foi tratado utilizando
uma biblioteca em serial de cômputo numérico e paralelizado utilizando arquitetura
multi-core de memória compartilhada com OpenMP, obtendo assim melhor
desempenho de computo.
Um outro caminho para tratar esta situação é utilizando paralelismo em GPUs.
Por causa do altíssimo poder computacional dessa arquitetura que é naturalmente
paralela, é possível manipular enormes cargas de trabalho e acelerar o cômputo de
métodos numérico com uso de uma Application Programming Interface (API). Devido
a estas características, diversos pesquisadores de todo o mundo estão desenvolvendo
algoritmos para esta plataforma, usando-a para cálculos matemáticos de propósito geral.
(Buriol, 2009)
O CUDA (Compute Unified Device Architecture) é um modelo de programação
desenvolvidos para utilizar de forma eficiente o poder das GPUs. Esta tecnologia foi
desenvolvida pela NVIDIA e permite a utilização de unidade de processamento gráficos
(GPUs) da NVIDIA para a computação paralela. No site da NVIDIA
( http://www.NVIDIA.com.br/object/CUDA_home_br.html ) encontram-se diversas
pesquisas que utilizam CUDA para uma aplicação em GPU como simulação de efeitos
físicos, exploração de gás e petróleo, processamento de imagens na área médica,
pesquisa científica e muitos outros. (Buriol, 2009)
Nesse sentido, este plano de trabalho objetiva demonstrar o estudo de bibliotecas
para cômputo numérico de ODEs em uma aplicação paralela em GPUs utilizando a
arquitetura CUDA. Foram usados como base de teste programas já conhecidos e
desenvolvidos pela equipe do laboratório para a resolução do problema da astronomia,
paralelizando-os no ambiente de GPU. Nesse sentido, foi realizado uma comparação
entre o desempenho das aplicaões em GPU com outra plataformas de cômputo paralelo
já testada, a de memória compartilhada utilizando OpenMP.


Texto completo:

PDF

Apontamentos

  • Não há apontamentos.