On 27/04/2014 19:02, William Shipman wrote:
I'm not aware of any arbitrary precision arithmetic libraries
either, and I
do wonder if they would be worthwhile on a GPU. But there are alternatives.
You can use double-double (128 bit) and quad-double (256 bit) precision.
Every number gets represented using two or four double precision numbers,
roughly doubling (or quadrupling) the number of accurate digits. Every
operation then takes these two (four) components for every number. You
should have a look at http://crd-legacy.lbl.gov/~dhbailey/mpdist/
and Fortran implementations of double-double and quad-double precision
arithmetic. Of course, you will have to turn this into OpenCL code.
Please check the license documentation that is posted at this link to make
sure that the license is compatible with your intended uses.
On 27 April 2014 19:00, Cellier <lcellier(a)lycee-joliverie.fr> wrote:
> I don't need the basic operations (such as logab + - ) to be done in
> parallel. I just want to perform operations on them. It doesn't matter if
> it is done serially.
> I need to parallelize things at an higher level : see
> qui_loge_sur_512_Ko_en_binaire. (sorry for the language).
> PyOpenCL mailing list
256 bit is far from 512288 bits.
I expect performance by doing thousands miller-rabin test in parallel,
so it doesn't matter if that's done serially.
I'm also asking how I can use python integers (which don't are only
limited by the size of the RAM) within the kernel, with PyOpenCL.