2fast
2016-09-10 16:19:49 UTC
Con l'ultima versione di y-cruncher 0.7.1.9465b e' stato
aggiunto il codice che usa le struzioni ADX presenti
in alcuni processori Intel Broadwell e Skylake (e successivi):
Multi-Precision Add-Carry Instruction Extensions .
Riepilogo nuove istruzioni per processori Intel :
2011 Sandy Bridge (2a gen) : AVX
2013 Haswell (4a gen) : AVX , AVX2 , FMA3 , BMI
2015 Broadwell/Skylake (5a e 6a) : AVX , AVX2 , FMA3 , BMI , ADX
2016 Kaby Lake (7a gen) : AVX , AVX2 , FMA3 , BMI , ADX (** da confermare)
Riepilogo istruzioni AMD :
2011 Bulldozer (1a gen) : AVX , FMA4 , XOP
2012 Piledriver (2a gen) : AVX , FMA4 , XOP
2014 Steamroller (3a gen) : AVX , FMA4 , XOP
2015 Excavator (4a gen) : AVX , FMA4 , XOP , AVX2
2017 Zen : AVX , AVX2 , ADCX (** da confermare)
Grazie al programma y-cruncher e' facile fare
confronti tra i vari set di istruzioni, riassumo alcuni
test eseguiti con Core i7-4790K e Core i5-6600K .
Y-CRUNCHER v0.7.1
1 miliardo di cifre (nel programma digitare 0-1-6)
tempi della sola elaborazione (computational time)
Core i5-6600K (Skylake) 4 core / 4 thread 4,0 GHz (turbo 4,2)
32GB DDR4-2400 CL14
112.618 sec - ADX
113.326 sec - AVX2/FMA3
224.203 sec - AVX
281.145 sec - SSE4.1
297.440 sec - SSE3
Core i7-4790K (Haswell) 4 core / 8 thread 4,2 GHz (turbo 4,4)
16GB DDR3-1600 CL9
124.733 sec AVX2/FMA3
233.625 sec AVX
272.954 sec SSE4.1
289.848 sec SSE3
Disattivando l'HyperThreading sul Core i7-4790K
i tempi peggiorano del 10% :
135.273 sec AVX2/FMA3
254.210 sec AVX
Passando dalla piattaforma Haswell con DDR3-1600
a quella Skylake con DDR4-2400 , a parita' di core fisici
e thread (senza HyperThreading) , c'è un miglioramento
del 20% .
Ciao
Luca
aggiunto il codice che usa le struzioni ADX presenti
in alcuni processori Intel Broadwell e Skylake (e successivi):
Multi-Precision Add-Carry Instruction Extensions .
Riepilogo nuove istruzioni per processori Intel :
2011 Sandy Bridge (2a gen) : AVX
2013 Haswell (4a gen) : AVX , AVX2 , FMA3 , BMI
2015 Broadwell/Skylake (5a e 6a) : AVX , AVX2 , FMA3 , BMI , ADX
2016 Kaby Lake (7a gen) : AVX , AVX2 , FMA3 , BMI , ADX (** da confermare)
Riepilogo istruzioni AMD :
2011 Bulldozer (1a gen) : AVX , FMA4 , XOP
2012 Piledriver (2a gen) : AVX , FMA4 , XOP
2014 Steamroller (3a gen) : AVX , FMA4 , XOP
2015 Excavator (4a gen) : AVX , FMA4 , XOP , AVX2
2017 Zen : AVX , AVX2 , ADCX (** da confermare)
Grazie al programma y-cruncher e' facile fare
confronti tra i vari set di istruzioni, riassumo alcuni
test eseguiti con Core i7-4790K e Core i5-6600K .
Y-CRUNCHER v0.7.1
1 miliardo di cifre (nel programma digitare 0-1-6)
tempi della sola elaborazione (computational time)
Core i5-6600K (Skylake) 4 core / 4 thread 4,0 GHz (turbo 4,2)
32GB DDR4-2400 CL14
112.618 sec - ADX
113.326 sec - AVX2/FMA3
224.203 sec - AVX
281.145 sec - SSE4.1
297.440 sec - SSE3
Core i7-4790K (Haswell) 4 core / 8 thread 4,2 GHz (turbo 4,4)
16GB DDR3-1600 CL9
124.733 sec AVX2/FMA3
233.625 sec AVX
272.954 sec SSE4.1
289.848 sec SSE3
Disattivando l'HyperThreading sul Core i7-4790K
i tempi peggiorano del 10% :
135.273 sec AVX2/FMA3
254.210 sec AVX
Passando dalla piattaforma Haswell con DDR3-1600
a quella Skylake con DDR4-2400 , a parita' di core fisici
e thread (senza HyperThreading) , c'è un miglioramento
del 20% .
Ciao
Luca