{"title":"How orthogonal are we? A note on fast and accurate inner product computation in the floating-point arithmetic","authors":"B. Cyganek, K. Wiatr","doi":"10.1109/sa47457.2019.8938060","DOIUrl":null,"url":null,"abstract":"The multiply-and-accumulate (MAC) belongs to the most fundamental operations in digital signal processing. It constitute the key operation for digital filters as well as object classification, to name a few. Recently we faced implementation issues related to tensor decomposition into orthogonal factors, as well as tensor projections onto the orthogonal tensor bases. Also these rely heavily on the MAC operations. However, a serious problem of the numerical accuracy vs. operation speed of these operations can be observed when implemented with the floating point arithmetic realized in a hardware or a software platform. If not carefully approached, this can lead to significant numerical errors which are frequently overlooked by inexperienced engineers critically relying on standard libraries. In this paper we remind, dust off and discuss some computational aspects of the floating point implementation of the MAC operations in big data signal processing tasks on various platforms, and in different operation modes (serial, parallel, software, hardware). Such algorithms as simple summation, the Kahan algorithm, as well as some hybrid solutions are analyzed in respect to their accuracy, simplicity in implementation, and resource consumption, as well as speed of execution.","PeriodicalId":383922,"journal":{"name":"2019 First International Conference on Societal Automation (SA)","volume":"97 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 First International Conference on Societal Automation (SA)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/sa47457.2019.8938060","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
The multiply-and-accumulate (MAC) belongs to the most fundamental operations in digital signal processing. It constitute the key operation for digital filters as well as object classification, to name a few. Recently we faced implementation issues related to tensor decomposition into orthogonal factors, as well as tensor projections onto the orthogonal tensor bases. Also these rely heavily on the MAC operations. However, a serious problem of the numerical accuracy vs. operation speed of these operations can be observed when implemented with the floating point arithmetic realized in a hardware or a software platform. If not carefully approached, this can lead to significant numerical errors which are frequently overlooked by inexperienced engineers critically relying on standard libraries. In this paper we remind, dust off and discuss some computational aspects of the floating point implementation of the MAC operations in big data signal processing tasks on various platforms, and in different operation modes (serial, parallel, software, hardware). Such algorithms as simple summation, the Kahan algorithm, as well as some hybrid solutions are analyzed in respect to their accuracy, simplicity in implementation, and resource consumption, as well as speed of execution.