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.
翻译:我们提出一种基于整数列表存储的多项式基数2索引集合表示数的乘法方法。“多项式整数索引乘法”方法是一套用Python代码实现的算法。我们证明,在特定位数范围内,该方法在乘法运算中比数论变换(NTT)和Karatsuba算法更快。为与多项式基数2整数方法进行性能对比,同样使用Python代码实现了这些参考算法。我们证明,任何整数或实数均可表示为整数索引列表,即基数为2的有限级数形式。这种基于整数索引的有限级数表示可以被存储并分布在多个CPU/GPU上。我们进一步表明,加法和乘法运算可通过对这些索引整数表示执行二进制补码加法来实现,并能完全分布在给定的CPU/GPU架构上。我们验证了完全分布式算术运算的可行性,使得“多项式整数索引乘法”方法突破了当前并行乘法方法的局限性——即计算结果与中间结果时必须共享公共核心内存与磁盘的约束。