Re: [Rd] Manipulating single-precision (float) arrays in .Call functions

From: Matthew Dowle <>
Date: Tue, 19 Jul 2011 12:48:06 +0100

"Prof Brian Ripley" <> wrote in message
> On Mon, 18 Jul 2011, Alireza Mahani wrote:
>> Simon,
>> Thank you for elaborating on the limitations of R in handling float
>> types. I
>> think I'm pretty much there with you.
>> As for the insufficiency of single-precision math (and hence limitations
>> of
>> GPU), my personal take so far has been that double-precision becomes
>> crucial
>> when some sort of error accumulation occurs. For example, in differential
>> equations where boundary values are integrated to arrive at interior
>> values,
>> etc. On the other hand, in my personal line of work (Hierarchical
>> Bayesian
>> models for quantitative marketing), we have so much inherent uncertainty
>> and
>> noise at so many levels in the problem (and no significant error
>> accumulation sources) that single vs double precision issue is often
>> inconsequential for us. So I think it really depends on the field as well
>> as
>> the nature of the problem.
> The main reason to use only double precision in R was that on modern CPUs

> double precision calculations are as fast as single-precision ones, and
> with 64-bit CPUs they are a single access.
> So the extra precision comes more-or-less for free.

But, isn't it much more of the 'less free' when large data sets are considered? If a double matrix takes 3GB, it's 1.5GB in single. That might alleviate the dreaded out-of-memory error for some users in some circumstances. On 64bit, 50GB reduces to 25GB and that might make the difference between getting something done, or not. If single were appropriate, of course. For GPU too, i/o often dominates iiuc.

For space reasons, is there any possibility of R supporting single precision (and single bit logical to reduce memory for logicals by 32 times)? I guess there might be complaints from users using single inappropriately (or worse, not realising we have an instable result due to single).


> You also under-estimate the extent to which stability of commonly used
> algorithms relies on double precision. (There are stable single-precision
> versions, but they are no longer commonly used. And as Simon said, in
> some cases stability is ensured by using extra precision where available.)
> I disagree slightly with Simon on GPUs: I am told by local experts that
> the double-precision on the latest GPUs (those from the last year or so)
> is perfectly usable. See the performance claims on
> of about 50% of the SP
> performance in DP.
>> Regards,
>> Alireza
>> --
>> View this message in context:
>> Sent from the R devel mailing list archive at
>> ______________________________________________
>> mailing list
> --
> Brian D. Ripley,
> Professor of Applied Statistics,
> University of Oxford, Tel: +44 1865 272861 (self)
> 1 South Parks Road, +44 1865 272866 (PA)
> Oxford OX1 3TG, UK Fax: +44 1865 272595
> mailing list Received on Tue 19 Jul 2011 - 11:50:47 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 19 Jul 2011 - 15:00:10 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive