hammy4815 / VectorModesolver.jl

Vector Finite Difference Maxwell Modesolver
MIT License
14 stars 2 forks source link

Accelerate the assembly #5

Open hammy4815 opened 1 year ago

hammy4815 commented 1 year ago

Mainly we can multithread the main for loops of assemble. Possibly there are other changes to be made to improve it on the Julia side. It's currently slower than it should be.

smartalecH commented 1 year ago

Adding multi threading support in this case should be easy. But we should do some rigorous benchmarks to...

  1. Ensure the current method really is slower than it should be
  2. Ensure we are improving things, not making them worse.

The python implementations vectorize the operations. While this requires much more memory, it does allow for better cache management etc by the compiler.