simpeg / pymatsolver

Solve matrix equations in python.
https://pymatsolver.readthedocs.io/en/latest/
MIT License
33 stars 16 forks source link

Add mumps solver #43

Closed jcapriot closed 1 month ago

jcapriot commented 3 months ago

Adds an interface to the mumps solver through the python-mumps package (available on conda-forge for all systems).

jcapriot commented 1 month ago

Okay, have had to go pretty deep on the debug for this one... Basically, conda-forge's very old flang compiler on windows conflicts with other openmp libraries, but this is not blocked on their feedstocks. (openmp=5.0.0 required by flang overwrites the libiomp5 library without saying anything bad about it. Resulting in the kernel panics from the initial tests.)

The upshot of this is that I've updated the pydiso feedstock in its new version so that it cannot be installed with their openmp package (llvm-openmp and intel-openmp are both fine however). The other upshot of this is that on conda-forge, mumps is still built using the old flang compiler on windows. Meaning that you won't be able to have both mumps and pydiso installed in the same environment on windows.

Here I've just made a build matrix that tests those compiled solvers separately.