Thank you very much for your point... I hope I can find some easy to follow instructions as I do not have root permission for the many cores system and our system administrator want to have easy instructions to follow. Thanks a gain.
________________________________ From: Rainer M Krug <r.m.k...@gmail.com> Cc: Ernest Adrogué <nfdi...@gmail.com>; "r-help@r-project.org" <r-help@r-project.org> Sent: Tuesday, February 7, 2012 11:44 AM Subject: Re: [R] using mclapply (multi core apply) to do matrix multiplication On 07/02/12 11:31, Alaios wrote: > I would like to thank you Ernest for your answer. I guess that this > is gonna be faster as right now R only sees one core. In my work > there is a system with 64 cores and you can see only one working. If > I understand it right a [m,n][n,k] matrix multiplication can be split > into rows (from first matrice) and columns (from the second matrice) > and then combine all the local results of each cpu together. You definitaly can go this way, but I would STRONGLY recommend to search for "parallel BLAS", check in the R-admin manual the section "Linear Algebra" which deals with BLAS et al, and e.g. http://www.r-bloggers.com/compiling-64-bit-r-2-10-1-with-mkl-in-linux/ My guess is that a paralelization on the C level in the BLAS et al. library will be MUCH faster then a paralelization on R level. Also, there is a R-sig-hpc mailing list for these kind of questions. Cheers, Rainer > > Would that be too weird for mclapply to handle? > > B.R Alex > > > > ________________________________ From: Ernest > Adrogué<nfdi...@gmail.com> To: r-help@r-project.org Sent: Tuesday, > February 7, 2012 11:02 AM Subject: Re: [R] using mclapply (multi core > apply) to do matrix multiplication > > 7-02-2012, 00:29 (-0800); Alaios escriu: >> Dear all, I am trying to multiply three different matrices and >> each matrice is of size 16384,16384 the normal %*% multiplciation >> operator has not finished one day now. As I am running a system >> with many cores (and it seems that R is using only one of those) I >> would like to write fast a brief function that converts the typical >> for loops of a matrix multiplication to a set of lapply sets >> (mclapply uses the lapply syntax but it applies the work to many >> cores). >> >> If my thinking is correct , in the sense that this will speed up >> things a lot, I want you to help me covert the first matrix in >> rows the second in columns and convert those in a format that >> lapply would like to work with. > > If I understand correctly, R uses a specialized library called BLAS > to do matrix multiplications. I doubt re-implementing the matrix > multiplication code at R-level would be any faster. What you can try > is replace BLAS with a multicore version of BLAS although it's not > easy if you have to compile it yourself. > > Also, you may try to re-think the problem you're trying to solve. > Maybe there's a different approach that is less > computation-intensive. > > > > > ______________________________________________ R-help@r-project.org > mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do > read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. -- Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, UCT), Dipl. Phys. (Germany) Centre of Excellence for Invasion Biology Stellenbosch University South Africa Tel : +33 - (0)9 53 10 27 44 Cell: +33 - (0)6 85 62 59 98 Fax : +33 - (0)9 58 10 27 44 Fax (D): +49 - (0)3 21 21 25 22 44 email: rai...@krugs.de Skype: RMkrug [[alternative HTML version deleted]]
______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.