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. / In this study a practical use of Interval Mathematics, for the resolution of numerical problems, through a new tool, libavi.a (Vector and Interval Arithmetic Library) is presented. A new tool for resolution of numerical problems in supercomputers is proposed, providing increase in processing speed through vectorization and adding accuracy and error control at the performance of interval arithmetic. Two limitations of numerical problems resolution in computers were identified. These limitations are related to the quality of results and the size of the problem to be solved. A big distance between technology improvement, including development of more powerful and faster computers, and the quality of calculus performance is the consequence of this progress. Among supercomputers (vectorial and parallel computers) the results are quickly obtained, but we may not know how exact they are. Since the definition of machine arithmetic was in charge of makers, each system has its own characteristics and problems. Compatible or equal results are rarely produced when calculus are made in different machines. Then in 1980, the IEEE adopted the pattern of binary floating-point arithmetic, known as pattern IEEE754. This was one step in the correct direction for solving the matter of results numerical quality. Anyway this pattern was incomplete. Research has come to a development proposal of a high accuracy and high performance arithmetic, which supports interval operations and interval mathematics itself for the user of Cray supercomputer. A study and specification were developed as a prototype application of this definition of high performance arithmetic. Later also a design and implementation of the library of interval routines programmed in FORTRAN 90 were made on Cray Y-MP supercomputer environment, called libavi.a. The name libavi.a means library (lib) composed of vector interval arithmetic (avi, in Portuguese). The suffix .a is the suffix of libraries on Cray. High performance arithmetic was defined for libavi.a, which is composed of high performance processing and interval mathematics. The high accuracy and high performance arithmetic was not possible because, on Cray Y-MP supercomputer environment with the programming language FORTRAN 90, the native arithmetic is not according to the pattern of IEEE 754. The specification of the word size, the way that the arithmetic operations in floating-point are made and the kind of roundings are different from the pattern. It was necessary to simulate these operations and roundings. The library libavi is a set of interval routines that meets characteristics of interval mathematics in the environment of vector supercomputer Cray Y-MP. It was developed in FORTRAN 90, making available some characteristics as modularity, overloading of operators and functions, the use of dynamic arrays in the definition of vectors and matrix and the definition of new kinds of data from analysis mathematics. It was organized in four modules: basic (with 52 routines of real intervals), my/ (with 151 routines over real interval matrix and vectors), aplic (with 29 routines over linear algebra) and ci (with 58 routines of complex intervals). The basic module contains the basic interval arithmetic and therefore it is used by all other modules. The aplic module contains the three other modules, because it uses their routines. Then the complex interval module contains the basic module. Finally, some tests are made to verify the correctness of interval routines library and compatibility with its documentation. All the results from FORTRAN and Pascal XSC programs for the same problems were compared. The validation of interval mathematics use on Cray supercomputer was made through the resolution of numerical problems programmed in FORTRAN 90, using the library libavi and the results was compared with other libraries.
Identifer | oai:union.ndltd.org:IBICT/oai:www.lume.ufrgs.br:10183/17965 |
Date | January 1995 |
Creators | Diverio, Tiaraju Asmuz |
Contributors | Claudio, Dalcidio Moraes, Navaux, Philippe Olivier Alexandre |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | English |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/doctoralThesis |
Format | application/pdf |
Source | reponame:Biblioteca Digital de Teses e Dissertações da UFRGS, instname:Universidade Federal do Rio Grande do Sul, instacron:UFRGS |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0075 seconds