Bulldozer and 64 bits integer multiplication
Vincent Diepeveen
diep at xs4all.nl
Fri Oct 14 16:29:47 CEST 2011
Hello,
I tend to remember that for FFT the limiting speed of GMP is the
multiplication throughput that one
can achieve in integers.
Now Bulldozer is a weirdo design on paper of a quad core chip that
splits into 8 minicores.
Yet each minicore as we can see on the drawing has its own
multiplication unit.
That would mean that doing 64 bits integer transform is nearly double
the speed of quad core chippie.
What's a good way to test this with GMP on a bulldozer?
I ask this as my own 64 bits transform, which uses YAP by the way, is
not written in assembler, yet in C,
and the compilers total mess up there on the code i wrote when trying
to obtain the high 64 bits and low 64 bits
results of a 64 * 64 bits multiplication.
So that would not be very representative test here for measuring
potential of bulldozer there.
What options are there in GMP, i tend to remember last time that i
checked it's code that
uses 32 x 32 bits integers in SIMD right?
Basically i want to test whether it really has 8 multiplication units
for 64x64 bits == 128 bits output in integers,
and that it doesn't with some trick cast that onto the same 4
multiplication units.
More information about the gmp-discuss
mailing list