Parallel execution on MacOS

I’d like to make use of fenics’ built-in parallel functionality. I’m using a MacBook Pro with anaconda, but other machines are available if needed. If I run the Cahn-Hilliard example it seems to use all cores with the standard solver lu. This takes around 35 s on my machine.

If I change to gmres it takes 10 s and doesn’t seem to use more than one core. How do I make it use all cores with gmres?

The mesh in my real code is substantially larger and cannot practically use lu, hence my question how to paralllelize other solvers.

All basic demos in FEniCS can be excecuted in Python by calling: mpirun -n 2 python3 demo.py