Le 21/10/2015 23:38, Victor Shoup a écrit : > Just in case anyone is interested... > I am interested.
> I released a new version of NTL that offers a new "thread boosting" feature, > which utilizes multiple cores to speed up certain computations. > This is a work in progress...as of now, only basic operations in ZZ_pX > are thread boosted. > > You can see a report on the effect of thread boosting on polynomial > factorization > here: http://www.shoup.net/ntl/boost.pdf > > Short synopsis: using 16 cores, NTL's (already pretty fast) algorithm > for factoring polynomials over ZZ_p now runs 10-12 times faster. This is > a result of boosting the low-level ZZ_pX arithmetic...the higher-level > factoring routines are completely unchanged. > Just some questions: 1) what about hyper threading ? I thing your machine has, say 16 cores, but with hyper threading you can launch 32 threads. On very regular structures (say: operations on arrays), hyper threading is not (very) interesting. But when the code becomes more irregular, when it is not embarrassingly parallel, it is often interesting to have threads waiting when other compute. The Intel Xeon-Phi has 64 cores and 256 "virtual" core for example, and you get interesting performances only if you are able to use 256 threads (ok, the Xeon-Phi is a bit strange, but future machines will certainly have a lot in common with it) 2) You seem to use a direct management of threads; how long do threads live? launching a thread takes micro-seconds, which is not neglectable. Open-MP launches all the threads at the first parallel instruction, and never stops them. 3) Performances are improved if you force the threads to stay on the same slot (as the machine is certainly numa). 4) Did you have a look at TBB library ? The task stealing paradigm is very interesting and not difficult to understand (even sometime simpler than OpenMP). It should be interesting to look at your code using a tool like VTune. I can do it if your code is available. t.d. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
<<attachment: tdumont.vcf>>