kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #37560
Removing OpenMP
Hi All-
I've just finalized the process of removing OpenMP from our codebase. See
https://lists.launchpad.net/kicad-developers/msg34520.html for some
discussion as to why this was needed.
TLDR; MacOS doesn't have OpenMP. Rather than segment our codebase to use
different kinds of thread pooling, I've standardized the threading into
std::thread. This includes connectivity, zone filling and 3d-viewer.
There are a few side benefits to those not on Mac as well. Notably, OpenMP
was stalling during the ratsnest/connectivity routines as the different
threads waited for the pool to clear. Moving to the std::threads speeds
this up enormously.
There was some concern about the overhead of multiple threads as opposed to
a thread pool. While I don't see any problematic effects under Mac or
Linux, I'd like to hear people's experiences on MSW and whether there are
drawbacks/problems to this approach.
Best-
Seth
Follow ups