Arbitrary Precision Integers on the CellTeam: 36 School: Desert Academy Area of Science: Multicore Computing
Interim: Problem Definition:
Using the PlayStation 3, we intend to create an arbitrary precision integer library that takes advantage of the Cell processor, a multicore processor used in the PS3. The Cell has 6 available cores, called Synergistic Processing Units (SPUs), that are optimized for mathematical operations as well as a main processor called the Power Processing Unit (PPU).
Although there are already arbitrary precision integer libraries in existence, there are none optimized for use on the Cell. We intend to program algorithms for the Cell using vectors, which allow multiple operations to be accomplished in one clock cycle.
Problem Solution:
To allow for arbitrary precision, we are using an array of vectors, a datatype that we call a vecthor. By breaking the number into groups of 8 digits, 4 can be put in each vector and the total number of vectors is logged in the first vector of the vecthor. We plan to create algorithms for addition, subtraction, multiplication, modding, and possibly division that can run individually on each core of the Cell.
Progress to Date:
So far, we have a preliminary subtraction algorithm as well as a theoretical addition algorithm, which we plan to have implemented by January. Our datatype has been designed and implemented and we have designed a function to translate user input into a vecthor.
Expected Results:
With optimized code, the Cell can theoretically run 10+ times as fast as a normal processor. If we successfully create algorithms that run quickly on the cell processor, we can run the program on each of the PS3’s 6 cores, with 5 PS3s working on a single problem at once allowing for much greater speed than would be possible with a normal computer.
Team Members: Megan Belzner Matthew Rohr Cole Tolbert Bjorn Swenson
Sponsoring Teacher: Scott Christie Mail the entire Team |