Version: 1.0

Posted: 2003-01-14

Build Requirements: N/A

Runtime Requirements: Carbon G4

View Source Code:

Download Sample (“VelEng_Multiprecision.zip”, 229.5K)
Download Sample (“VelEng_Multiprecision.dmg”, 308.1K)



Description

An implementation of arbitrary precision arithmetic using the PowerPC Velocity-Engine (G4) vector instructions. We first define essential digit size of a multiprecision integer to be 128 bits, in view of the Velocity Engine architecture. By designing a general purpose vector library comprised of multiplication, square, bit shift and bitwise comparison, we have achieved significant speedups over PowerPC G3 scalar (base-2^16 ) implementation, or even hand-tuned assembly (base-2^32 ) packages. In particular, vector multiplications enjoy performance improvements ranging from 3:1 to 10:1 over their scalar counterpart, depending on operand bit size. An application for general purpose integer factoring was written and is able to factor large integers with speedups factors roughly in the aforementioned range. A second, large convolution application was written to settle a certain research problem; in this instance a length-2 15 convolution of 512-bit elements is performed. Requirements: G4 Keywords: Velocity Engine, AlitVec, Multiprecision arithmetic, arbitrary precision arithmetic,

Document Revision History

Date Notes
2003-01-14An implementation of arbitrary precision arithmetic using the PowerPC Velocity-Engine (G4) vector instructions.

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.