O uso de métodos numéricos nos permitem encontrar a solução de um sistema linear
de maior complexidade, ou uma forma de diminuir o número de execuções para
encontrar uma solução exata nos métodos diretos, quando não é levado em
consideração os erros de arredondamento e truncamento, ou aproximada nos
métodos iterativos, neste trabalho, utilizou-se equações diferenciais parciais, que
foram discretizadas por diferenças finitas, onde gerou-se um sistema linear com
muitas equações algébricas, em que normalmente a matriz de solução foi esparsa, ou
seja, possui muitos elementos nulos, com isto evitamos definir ou armazenar toda a
matriz. A escolha dos métodos iterativos de Jacobi, Gauss-Seidel e SOR, que
mostraram eficientes nos testes realizados, após a implementação em paralelo, que
por essência faz uma divisão de uma determinada aplicação em diversas instâncias,
de maneira que esta possa ser executada por vários elementos de processamento,
que por sua vez deverão cooperar entre si, com isto quebram o paradigma de
execução sequencial do fluxo de instruções, ditado pela filosofia de von Neumann. O
estudo do uso de GPU’s da NVIDIA, através do uso da tecnologia CUDA (Compute
Unified Device Architecture), bem como as abordagens possíveis de paralelização dos
códigos computacionais em linguagem de alto desempenho e massivamente
paralelos, teve o objetivo de diminuir o tempo de execução dos algoritmos seriais em
comparação aos implementados em paralelo, os algoritmos sequenciais foram
otimizados e adaptados, para serem implementados em paralelo. O objetivo central
foi expressar as diferenças de tempo na execução dos algoritmos seriais e paralelos,
onde observou-se um ganho computacional de mais de 100% nos algoritmos
paralelizados. As implementações dos algoritmos dos métodos numéricos iterativos,
citados, que inicialmente foram propostos por John Bukardt, através de uma equação
de Poisson e uma variação homogênea, a equação de calor Laplace, ambas em uma
chapa retangular em regieme estacionário. E finalmente, foram apresentamos os
resultados obtidos através de um profiling completo de gráficos e funções de tempo
para cada implementação.