Multiple Precision/Big Int libraries?

Odd question, would it be possible to implement or port a Multiple Precision/Big Int library for CUDA? Would it still be effective/fast?

Im still trying to learn the difference between normal CPU architecture and the 8 series and I’m not sure I understand all the penalties that would be involved since it wasn’t design for something like this.

Any comments in general about this?


Depends on what you want to do. If all you want to do is to have each CUDA thread work on big ints instead of normal data types, then it should be very easy to port such a library to CUDA. After all, each of the processors in the GPU is a simple scalar processor that is very good at sequential arithmetic of the type needed for big ints.

The problem may come with how you deal with groups of big ints between a number of threads – you will have to be careful with how you lay out your data in memory and how your threads store local copies in order to avoid bank conflicts and to maximize coalescing.