[mlpack-git] [mlpack] Add OpenMP support to density estimation tree code (#438)
Janzen Brewer
notifications at github.com
Tue May 19 16:06:47 EDT 2015
> Did you try any other parallelization strategies? i.e. the for loops inside of SplitNode(), or something like that.
If you mean FindSplit(), yes, I tried parallelizing across dimensions, but it was slower. I suspect this is because FindSplit, while called many times, is relatively quick (even with the sort), and the overhead of setting up the parallel for wasn't worth it.
I also tried parallelizing the ComputeValue loops in Trainer. Again, it was slower. I suspect this is because ComputeValue is fast anyway and the pointer chasing could have thrashed the cache (that's very speculative, though).
Of course, these might be very parallelizable operations that I bungled.
> What's the overhead for the OpenMP-ized code using only one core (do you happen to know)?
I compared the serial code with the parallel code restricted to one thread and there was no significant difference (1 thread parallel version was 1% faster in total runtime).
---
Reply to this email directly or view it on GitHub:
https://github.com/mlpack/mlpack/pull/438#issuecomment-103652980
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.cc.gatech.edu/pipermail/mlpack-git/attachments/20150519/9e7e3e32/attachment.html>
More information about the mlpack-git
mailing list