My experiments with single-prec (Java float) is that it computes as fast as doubles, but of course uses half as much memory. If the AB' block pass is memory-bound, this might help, but only by 1/2.
2011/12/12 Fernando Fernández <[email protected]>: > Wow, seems like I have started a nice discussion here... > > Thanks a lot for your ideas, very helpful!! > > 2011/12/12 Dmitriy Lyubimov <[email protected]> > >> another idea i have re: 922 is to perform computation of AB' blocks >> using single precision arithmetic. as far as i understand, rounding >> errors are not very essential there as we are just trying to improve >> our initially completely random basis. >> >> On Mon, Dec 12, 2011 at 11:53 AM, Ted Dunning <[email protected]> >> wrote: >> > Also, it isn't entirely clear yet whether power iterations are more >> > efficient than simply increasing the fudge factor p. Power iterations >> are >> > very effective, and increasing p increases costs in the cube, but running >> > MR passes is expensive enough that some increase in p might be sufficient >> > and still faster than a power iteration. >> > >> > On Mon, Dec 12, 2011 at 12:48 PM, Dmitriy Lyubimov <[email protected] >> >wrote: >> > >> >> With power iterations it is + 2 more for each new power iteration. >> >> Power iterations seem to be expensive in cases when A is very sparse >> >> (size of (A) ~= size of (B) then power iteration essentially is >> >> equivalent to computing AA' although i believe i manage to do it a >> >> little bit more efficient here with MAHOUT-922 then >> >> DRM.timesSquaired(A) would do). >> >> >> >> If A is dense, then power iterations make much more sense and not that >> >> expensive. >> >> >> -- Lance Norskog [email protected]
