Hi Mohsen, hello Sean, there is already a lot of researching going on for doing recommendations especially matrix factorization on GPUs:
e.g. http://www.slideshare.net/NVIDIA/1034-gtc09 20x - 300x faster or http://www.multicoreinfo.com/research/papers/2009/ipdps09-lahabar.pdf 60x faster over MATLAB 1,41x - 17x faster over Intel MKL So basically it has already been proven that from a number crunching perspective GPUs are the way to go. Nevertheless there are a lot of other facts that have to be incorporate e.g. graphic memory. The main trend for doing real time recommendations is currently to put all the data into memory (http://notes.matthiasb.com/post/7423754826/hunch-graph-database) and then use it directly from there. I don't know if there already graphic cards with 1 Terrabyte of graphics memory. So currently in the end a semi real time approach with batch and real time processing parts is deployed e.g. Yahoo: http://users.cis.fiu.edu/~lzhen001/activities/KDD_USB_key_2010/docs/p703.pdf Have a great day Manuel On 09.07.2012, at 01:04, Sean Owen wrote: > More than that, Mahout is mostly Hadoop-based, which is well up the > stack from Java. No there is nothing CUDA-related in the project. The > closest thing are the pure Java non-Hadoop-based recommender pieces. > But it is still far from CUDA. > > I think CUDA is intriguing since a lot of ML is a bunch of matrix math > and GPUs are very good at vectorized math. I think a first step is to > introduce proper JNI bindings for the big matrix math jobs and see how > much that gains. If it's a lot, then CUDA-izing the JNI pieces is an > interesting next step. > > On Sun, Jul 8, 2012 at 11:41 PM, mohsen jadidi <[email protected]> > wrote: >> Hello , >> >> This is my first post here and I just started reading about Hadoop, Mahout >> and all. I was wondering if there is any solution to use Mahout on parallel >> computing on GPU (mainly CUDA) ? I know it's a bit wired question to ask >> because cud a is C base and Mahout is Java base , but I just ask it as >> curiosity! I think it would be a very cool combination to use both cluster >> and local parallelisation ! >> >> cheers, >> -- >> Mohsen -- Manuel Blechschmidt M.Sc. IT Systems Engineering Dortustr. 57 14467 Potsdam Mobil: 0173/6322621 Twitter: http://twitter.com/Manuel_B
