I was curious about some recent observations I made concerning the speed of sparse-matrix solve.
Here are some measurements comparing Windows 10, WSL2, and Ubuntu 20.4, all running on the same laptop(HP Spectre 360 i7 at 3.1 GHz, 16 GB of memory). Serial execution with default number of threads.
Assembly of the left-hand side matrix and the right hand side vector (source).. 4.2 million degrees of freedom.
Solution of 4.2 million coupled linear algebraic equations. Default sparse matrix storage, and default solution method (\).
I forgot to post my conclusion re WSL2. It seems it leaves some performance on the table. That is fine for development, but not so good for running real simulations.
I agree , but is normal for a Virtual Machine to be less performant . It will be cool to see the Linux performance using a more performant Distro like Arch or Manjaro with a real time Kernel.
But thanks for your work
Update with Manjaro 18.0
Data as in the OP. First the assembly:
Sparse matrix solve:
EDIT: Sorry, Manjaro is mislabeled. It was 20.0.3.
By the way, the WSL2 was running Ubuntu 20.4.
Thanks for this. The last few days I am switching my dev over to WSL2. For small codes and data analysis, I am okay with the performance hit. But that being said, in your simulations you are not reading/writing from
/mnt/ correct? It’s been established that the cross filesystem read/write is horrendous right now. If you stay purely within the Linux file system, things should be on par with running natively on Windows.
No reading/writing. Pure computation.
Would WSL1 be faster for pure computation?
I don’t know at the moment, I only have WSL2 installed. Sorry.
I know from past experience that Linux excels when handling threaded Julia computations. Much better scaling than Windows. But frankly I expected more from Linux even on serial execution. I’ve heard of “high-performance” distros (Manjaro). I did not see that in the data above.
Has anyone made some experiences that bear on this?
Its just a guess but maybe this behavior is related to some intel security mitigations. Many of these are integrated in the recent linux kernels.
Was/is your Windows 10 Installation up to date and are all vendors drivers/firmeware/bios up to date?
Yes. I had the Win 10 updated to 2004 so that I could install WSL2. Which was going to be much better than WSL1.
Found out that 1.4.2 is on LLVM 8 whereas 1.5 and nightly are on LLVM 9. Could that be the reason for the speedup?
First thanks for all your effort.
I will like to know what kernel did you use on Manjaro,a s the latest ISO is 20 and we just got the 5.7.0.x few days ago and current installed LLVM-libs is 10.0.0.2
Sorry, my plotting got the Manjaro Linux mislabeled. I’ve actually booted manjaro-xfce-20.0.3-200606-linux56.iso.
Thanks a lot for your work.