[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