PyPardisoProject icon indicating copy to clipboard operation
PyPardisoProject copied to clipboard

Pardiso for clusters (cpardiso)

Open ma-sadeghi opened this issue 4 years ago • 5 comments

Hi, Have you looked into supporting Pardiso for clusters (so it can be run on machines with distributed memory)? Thanks!

ma-sadeghi avatar Dec 16 '21 13:12 ma-sadeghi

Hey, no, I haven't looked into that. I used to have access to a server with 256GB memory, which was always enough for my usage. Is this something you plan to use?

haasad avatar Dec 21 '21 18:12 haasad

I'd love to use it. The issue is that at some point (depends on the memory bandwidth of the CPU), memory operations become the bottleneck. In my experience, this critical point tends to be around 10ish cores (again, it depends on the hardware, but I tested on Compute Canada resources, which are fairly modern). So, a CPU with 32 or 64 cores, for instance, give you almost the same speedup as one with 8 cores.

With clusters, on the other hand, each node gets its own memory bandwidth, and so much higher speed ups become possible. I'd love to contribute, but I have no experience with interfacing Python with C/Fortran code. MKL seems to already have a cluster version of pypardiso (see here).

If you could give me some pointers on how to start, I can take a crack at it, otherwise, I'd really appreciate it if it's something that interests you.

ma-sadeghi avatar Dec 21 '21 19:12 ma-sadeghi