My application calls for solving a dense, 40,000 x 40,000, ill-conditioned linear system. The native SciPy GMRES solver with preconditioning has worked well for my application and solving a single system is within the ability of my local hardware. I am now looking to perform many such calculations and would like to move the calculations to cluster to improve speed. My understanding is that the native GMRES solver is default configured for use on a single core. Is there a straightforward way to incorporate the solver with Pool? Or does anyone know of an efficient parallelized GMRES solver with a Python wrapper?