Uso efetivo da matemática intervalar em supercomputadores vetoriais - Diverio, Tiaraju Asmuz (1995)
Este trabalho apresenta um estudo do uso da Matemática Intervalar na resolução de problemas em supercomputadores, através da biblioteca de rotinas intervalares denominada libavi.a (aritmética vetorial intervalar), proporcionando não só aumento de velocidade de processamento via vetorização, mas exatidão e controle de erros nos cálculos através do emprego da aritmética intervalar. Foram identificadas duas das barreiras que a resolução de problemas numéricos em computadores enfrenta. Estas barreiras se referem a qualidade do resultado e ao porte do problema a ser resolvido. Verificou-se a existência de uma grande lacuna entre o avanço tecnol6gico, incluindo o desenvolvimento de computadores cada vez mais rápidos, e poderosos e a qualidade com que os cálculos são feitos. Através dos supercomputadores (geralmente computadores vetoriais e/ou paralelos), os resultados são) obtidos com extrema rapidez, mas nem sempre se sabe quão confiáveis realmente são. Como a definição da aritmética da maquina ficava a cargo do fabricante, cada sistema tinha as suas próprias características e defeitos. Cálculos efetuados em diferentes maquinas raramente produziam resultados compatíveis. Então, em 1980, a IEEE adotou o padrão de aritmética binária de ponto-flutuante, conhecida como padrão IEEE 754. Isto foi um passo no sentido de se resolver a questão de qualidade numérica dos resultados, mas este padrão não especificou tudo. A pesquisa evoluiu para a proposta de uma aritmética de alta exatidão e alto desempenho, que tome disponível operações com intervalos e a própria matemática intervalar aos usuários do supercomputador vetorial Cray Y-MP2E. Como protótipo desta aritmética de alto desempenho, foi desenvolvido um estudo, uma especificação e, posteriormente, implementada uma biblioteca de rotinas intervalares no supercomputador Cray Y-MP2E, denominada libavi.a. 0 nome libavi.a significa biblioteca (lib) composta da aritm6tica vetorial intervalar (avi). 0 sufixo .a é o sufixo padrão de bibliotecas no Cray. Com a libavi.a definiu-se a aritm6tica de alto desempenho, composta do processamento de alto desempenho (vetorial) e da matemática intervalar. Não se tem a aritm6tica de alta exatidão e alto desempenho, pois no ambiente vetorial, como do supercomputador Cray Y-MP2E com a linguagem de programação Fortran 90, a aritm6tica não segue o padrão da IEEE 754 na especificação do tamanho da palavra nem na forma como os arredondamentos e operações aritméticas em ponto-flutuante efetuadas. Foi necessário desenvolver rotinas que simulassem Os arredondamentos direcionados e operações em ponto-flutuante com controle de erro de arredondamento. A biblioteca libavi.a é um conjunto de rotinas intervalares que reúne as características da matemática intervalar no ambiente do supercomputador vetorial Cray Y-MP. A libavi.a foi desenvolvida em Fortran 90, o que possibilitou as características de modularidade, sobrecarga de operadores e funções, uso de arrays dinâmicos na definição de vetores e matrizes e a definição de novos tipos de dados próprios a analise matemática. A biblioteca foi organizada em quatro módulos: básico (com 52 rotinas que implementam intervalos reais), mvi (com 151 rotinas sobre matrizes e vetores de intervalos reais), aplic (com 29 rotinas intervalares sobre aplicações da álgebra linear) e ci (com 58 rotinas que implementam intervalos complexos). O módulo básico contem a aritmética intervalar básica, sendo, por isso, utilizado por todos os demais. O módulo aplic contém os demais módulos, pois ele se utiliza deles. .O módulo de intervalos complexos, contém o módulo básico. Além da aritmética vetonal intervalar (operações, funções e avaliação de expressões), sentiu-se a necessidade de providenciar bibliotecas que tornassem disponíveis os métodos intervalares para usuários do Cray (na resolução de problemas). Inicialmente foi especificada a biblioteca cientifica aplicativa libselint.a, composta por algumas rotinas intervalares de resolução de equações algébricas e sistemas de equações lineares. Observa-se que desta biblioteca aplicativa foram implementadas apenas algumas rotinas visando verificar e validar o uso da biblioteca intervalar e da matemática intervalar em supercomputadores. Por fim, foram desenvolvidos vários testes que verificaram a biblioteca de rotinas intervalares quanto a sua correção e compatibilidade com a documentação. Todos os resultados obtidos através de programas que utilizavam a libavi.a foram comparados com os resultados produzidos por programas análogos em Pascal XSC. A validação do uso da Matemática Intervalar no supercomputador vetorial se deu através da resolução de problemas numéricos implementados em Fortran 90, utilizando a libavi.a, e seus resultados foram confrontados com o de outras bibliotecas.