I want to solve 10 linear systems (Ax = b) in each iteration of an algorithm.
The A of each system is about 10 x 11 (over-determined).
Cpu has 8 cores.
If I ask each CPU solve one of the 10 linear systems, 6 cpu has to wait for solving the last 2 systems.
If I solve each system one by one with multi-threaded solvers, would the performance be quite bad? I worry about false-sharing because the matrices A are small.
Does Eigen have a multi-threaded solver for this situation?
Thanks again.
Amay make sense to give it a size which is a multiple of the SIMD-packet size on your architecture (e.g., a multiple of 8, if you use float and AVX) -- but that depends on the solver you are using (you need to benchmark if it makes sense, of course). - chtz