By: Robert David Graham (bigrobg.delete@this.gmail.com), August 12, 2011 7:44 pm
Room: Moderated Discussions
>Anyway, to answer your questions, you'll need to be a bit
>more specific.
How many 32-bit integer additions per clock?
For Atom, the answer is 8 (two instructions, each four-way SIMD).
For Core2, the answer is 9 (three instructions, two of which are four-way SIMD, one of which is scalar).
For Radeon VLIW4, it's 64 (four instructions, each 16 way SIMD).
For Radeon VLIW5, it's 80 (five instructions, each 16 way SIMD)
For Fermi, it's 32 (two instructions, each 16 way SIMD)
For a Brazos E-350 CPU core, it's 5 (two instructions, one four-way SIMD, one scalar)
The reason I ask is that a lot of integer applications can be re-written as SIMD integer applications. This can be crypto on servers, password cracking, bitcoin mining, pattern searching, SAT-solvers, and so on.
These applications are a mix of integer operations: addition, subjection, xor, and, or, not, shift, rotate. But not so much multiple or divide. There is also a lot of shuffling and conditional loads.
>more specific.
How many 32-bit integer additions per clock?
For Atom, the answer is 8 (two instructions, each four-way SIMD).
For Core2, the answer is 9 (three instructions, two of which are four-way SIMD, one of which is scalar).
For Radeon VLIW4, it's 64 (four instructions, each 16 way SIMD).
For Radeon VLIW5, it's 80 (five instructions, each 16 way SIMD)
For Fermi, it's 32 (two instructions, each 16 way SIMD)
For a Brazos E-350 CPU core, it's 5 (two instructions, one four-way SIMD, one scalar)
The reason I ask is that a lot of integer applications can be re-written as SIMD integer applications. This can be crypto on servers, password cracking, bitcoin mining, pattern searching, SAT-solvers, and so on.
These applications are a mix of integer operations: addition, subjection, xor, and, or, not, shift, rotate. But not so much multiple or divide. There is also a lot of shuffling and conditional loads.