I use the Solve function to find solutions for systems of simultaneous equations with dozens or hundreds of equations and variables. This is successful though very slow (weeks) on a conventional single processor multi-core system. I am considering moving these problems to AWS with GPU support, with thousands of CUDA cores using one or more NVIDIA A100 GPUs. My question is, does the availability of such massive parallel computational capacity vastly improve execution time of the Solve function, realizing that while some computational problems can benefit greatly from a parallel computing environment, others can not, due to the inherent nature of the algorithms. Further, in the case of the Solve function, a multitude of methods are used internally depending on the nature of the system of equations, and it might be the case that some of these methods can benefit, while other might not. In my case, the equations are polynomials with terms that involve the product of a coefficient and various combinations of the system variables raised to different powers, and nothing more complex than that, in case that might lend insight to the methods Solve might use on these problems. Any help or insight is greatly appreciated. Thank you!
1 Answer
$\begingroup$
$\endgroup$
No, Solve
does not use parallelization on the CPU, and does not make use of the GPU. None of the computer algebra function make use of the GPU in Mathematica.
While I am not an expert on computer algebra, I believe it is not a good fit for massive parallelization and absolutely not a good fit for GPUs.