← Back to team overview

kicad-developers team mailing list archive

Re: Removing OpenMP

 

Excellent news; thanks for doing this Seth!

Cheers,
Jeff.


> On 21 Sep 2018, at 20:53, Seth Hillbrand <seth@xxxxxxxxxxxxx> wrote:
> 
> Hi All-
> 
> I've just finalized the process of removing OpenMP from our codebase.  See https://lists.launchpad.net/kicad-developers/msg34520.html <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
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp


References