{"title":"Efficient Architecture for Controlled Accurate Computation using AVX","authors":"DiaaEldin M. Osman, M. Sobh, A. Eldin, A. M. Zaki","doi":"10.1145/3220267.3220292","DOIUrl":null,"url":null,"abstract":"Several applications have problems with the representation of the real numbers because of its drawbacks like the propagation and the accumulation of errors. These numbers have a fixed length format representation that provides a large dynamic range, but on the other hand it causes truncation of some parts of the numbers in case of a number that needs to be represented by a long stream of bits. Researchers suggested many solutions for these errors, one of these solutions is the Multi-Number (MN) system. MN system represents the real number as a vector of floating-point numbers with controlled accuracy by adjusting the length of the vector to accumulate the non-overlapping real number sequences. MN system main drawback is the MN computations that are iterative and time consuming, making it unsuitable for real time applications. In this work, the Single Instruction Multiple Data (SIMD) model supported in modern CPUs is exploited to accelerate the MN Computations. The basic arithmetic operation algorithms had been adjusted to make use of the SIMD architecture and support both single and double precision operations. The new architecture maintains the same accuracy of the original one, when was implemented for both single and double precision. Also, in this paper the normal Gaussian Jordan Elimination algorithm was proposed and used to get the inverse of the Hilbert Matrix, as an example of ill-conditioned matrices, instead of using iterative and time-consuming methods. The accuracy of the operations was proved by getting the inverse of the Hilbert Matrix and verify that the multiplication of the inverse and the original matrix producing the unity matrix. Hilbert Matrix inverse execution time was accelerated and achieved a speedup 3x, compared to the original NM operations. In addition to the previous, the accelerated MN system version was used to solve the polynomial regression problem.","PeriodicalId":177522,"journal":{"name":"International Conference on Software and Information Engineering","volume":"15 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-05-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Conference on Software and Information Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3220267.3220292","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Several applications have problems with the representation of the real numbers because of its drawbacks like the propagation and the accumulation of errors. These numbers have a fixed length format representation that provides a large dynamic range, but on the other hand it causes truncation of some parts of the numbers in case of a number that needs to be represented by a long stream of bits. Researchers suggested many solutions for these errors, one of these solutions is the Multi-Number (MN) system. MN system represents the real number as a vector of floating-point numbers with controlled accuracy by adjusting the length of the vector to accumulate the non-overlapping real number sequences. MN system main drawback is the MN computations that are iterative and time consuming, making it unsuitable for real time applications. In this work, the Single Instruction Multiple Data (SIMD) model supported in modern CPUs is exploited to accelerate the MN Computations. The basic arithmetic operation algorithms had been adjusted to make use of the SIMD architecture and support both single and double precision operations. The new architecture maintains the same accuracy of the original one, when was implemented for both single and double precision. Also, in this paper the normal Gaussian Jordan Elimination algorithm was proposed and used to get the inverse of the Hilbert Matrix, as an example of ill-conditioned matrices, instead of using iterative and time-consuming methods. The accuracy of the operations was proved by getting the inverse of the Hilbert Matrix and verify that the multiplication of the inverse and the original matrix producing the unity matrix. Hilbert Matrix inverse execution time was accelerated and achieved a speedup 3x, compared to the original NM operations. In addition to the previous, the accelerated MN system version was used to solve the polynomial regression problem.