Is the performance of ScaLAPACK on a single proc similar to that of LAPACK?

eLiu

Diamond Member
Jun 4, 2001
6,407
1
0
Does anyone know if ScaLAPACK behaves exactly (or nearly) like LAPACK when called on a single processor? I feel like it should, since ScaLAPACK is algorithmically identical to LAPACK, but I don't have any confirmation of this.

context: I'm working on a CFD project where we will not always be running in parallel. So if running all the linear algebra routines from ScaLAPACK libraries will lead to pain in serial cases, we will need to figure out what routines will never need to go parallel and create 2 versions of everything else...? That seems silly.

-Eric
 

CycloWizard

Lifer
Sep 10, 2001
12,348
1
81
You might want to try the programming forum for this one.

I can only suggest that any performance loss should be absolutely minimal, since the only thing that should be different is a bit of code with a few if statements to determine whether to send the thread to another processor/core. I haven't dealt with ScaLAPACK, so I could be wrong, but from my very limited knowledge of parallel processing, it should check if additional processing units are available and put them to work if they are. If they are not, then it should run just like good ol' LAPACK.
 

eLiu

Diamond Member
Jun 4, 2001
6,407
1
0
That is also what I would expect, but sometimes well you never know, lol.

While we're here, do you have experience with any other parallel linear algebra packages? Likes/dislikes? I'm also very new to these things (I've only worked in serial before), so it's all a mystery to me at the moment.
 

CycloWizard

Lifer
Sep 10, 2001
12,348
1
81
Nope. My computing resources are limited to a dual-core laptop right now: one core to run my code, the other to let me do whatever else for the couple days at a time that it's running. I'm thinking about writing a grant that would include moneys for a serious number-crunching machine with a lot of cores. Right now, my knowledge is limited to some reading on how parallel stuff is implemented, which I didn't understand very well since I've never done it. I know that the US government has produced a lot of stuff in this field fairly recently, though I'm not yet sure if it's in the public domain. I'm sure the guys in the programming forum know much more about it than I do. :p