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>>

Reply via email to