Fast multiplication by two's complement addition of numbers represented as a set of polynomial radix 2 indexes, stored as an integer list for massively parallel computation
{"title":"Fast multiplication by two's complement addition of numbers represented as a set of polynomial radix 2 indexes, stored as an integer list for massively parallel computation","authors":"Mark Stocks","doi":"arxiv-2311.09922","DOIUrl":null,"url":null,"abstract":"We demonstrate a multiplication method based on numbers represented as set of\npolynomial radix 2 indices stored as an integer list. The 'polynomial integer\nindex multiplication' method is a set of algorithms implemented in python code.\nWe demonstrate the method to be faster than both the Number Theoretic Transform\n(NTT) and Karatsuba for multiplication within a certain bit range. Also\nimplemented in python code for comparison purposes with the polynomial radix 2\ninteger method. We demonstrate that it is possible to express any integer or\nreal number as a list of integer indices, representing a finite series in base\ntwo. The finite series of integer index representation of a number can then be\nstored and distributed across multiple CPUs / GPUs. We show that operations of\naddition and multiplication can be applied as two's complement additions\noperating on the index integer representations and can be fully distributed\nacross a given CPU / GPU architecture. We demonstrate fully distributed\narithmetic operations such that the 'polynomial integer index multiplication'\nmethod overcomes the current limitation of parallel multiplication methods. Ie,\nthe need to share common core memory and common disk for the calculation of\nresults and intermediate results.","PeriodicalId":501256,"journal":{"name":"arXiv - CS - Mathematical Software","volume":"13 3","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2023-11-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Mathematical Software","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2311.09922","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
We demonstrate a multiplication method based on numbers represented as set of
polynomial radix 2 indices stored as an integer list. The 'polynomial integer
index multiplication' method is a set of algorithms implemented in python code.
We demonstrate the method to be faster than both the Number Theoretic Transform
(NTT) and Karatsuba for multiplication within a certain bit range. Also
implemented in python code for comparison purposes with the polynomial radix 2
integer method. We demonstrate that it is possible to express any integer or
real number as a list of integer indices, representing a finite series in base
two. The finite series of integer index representation of a number can then be
stored and distributed across multiple CPUs / GPUs. We show that operations of
addition and multiplication can be applied as two's complement additions
operating on the index integer representations and can be fully distributed
across a given CPU / GPU architecture. We demonstrate fully distributed
arithmetic operations such that the 'polynomial integer index multiplication'
method overcomes the current limitation of parallel multiplication methods. Ie,
the need to share common core memory and common disk for the calculation of
results and intermediate results.