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/ for C++
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 <[email protected]> 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
https://fr.wikipedia.org/wiki/Wikipédia:Oracle/semaine_17_
2014#Math.C3.A9matiques_:_Trouver_des_nombres_premiers_
qui_loge_sur_512_Ko_en_binaire. (sorry for the language).
_______________________________________________
PyOpenCL mailing list
[email protected]
http://lists.tiker.net/listinfo/pyopencl
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.
_______________________________________________
PyOpenCL mailing list
[email protected]
http://lists.tiker.net/listinfo/pyopencl