I'm having a difficult time understanding the difference between the linear algebra packages MAGMA and PLASMA from just a quick glance. It looks like MAGMA is oriented towards GPU's and vector coprocessors, while PLASMA is oriented towards a vanilla multicore system. But I'd appreciate an explanation comparing them, and what they do differently from BLAS/LAPACK/ScaLAPACK.
-
$\begingroup$ Why did you use a comment instead of submitting an answer below? $\endgroup$ – cjordan1 Nov 28 '12 at 3:48
-
$\begingroup$ I emailed the PLASMA/MAGMA developers, and their current preference is that questions about the distributions be directed to their forums: MAGMA ,PLASMA, LAPACK. $\endgroup$ – Aron Ahmadia Nov 28 '12 at 16:54
-
$\begingroup$ Or they could just add a simple blurb on each of the websites so people aren't tempted to ask their favorite, easily searchable computational scientist forum instead. $\endgroup$ – cjordan1 Nov 28 '12 at 18:35
-
$\begingroup$ Well, you know what my opinion on that would be :) $\endgroup$ – Aron Ahmadia Nov 28 '12 at 21:55
See here or the PLASMA README. LAPACK is serial and parallelism enters only via multi threaded BLAS3. ScaLAPACK is for distributed memory machines and requires BLACS/MPI. PLASMA targets shared memory parallelism on multicore machines.