Reputation: 23959
I'm doing some work where SIMD is required and I need to do operations on an array of doubles. Do any of the mainstream architectures support this? I've only seen floating point operations.
Thanks in Advance, Stefan
Upvotes: 2
Views: 1948
Reputation: 36476
Here's the SEE2 intrinsics supported by the C++ compiler in VS2008.
As mentioned by jalf the CELL processors double precision support for SIMD takes a significant performance hit (I believe later iterations of the chip not used in the PS3 have much improved behaviour).
In terms of main stream SSE2 came in the pentium 4 in 2001 so is widespread in the x86 industry. according to the steam hardware survey 95% of that population has SSE2 so i think it's safe to target it.
Upvotes: 1
Reputation:
CUDA running at compute capability 1.3 or grater can do it, too. The newer GTX 2xx cards can do this.
Upvotes: 0
Reputation: 86393
ARM VFP can do doubles as well.
The new NEON SIMD extension (which is btw. the best SIMD instruction set that I've seen so far) can unfortunatley only deal with 32 bit floats.
Upvotes: 1
Reputation: 248219
Yes, x86 can do it with the SSE2 instructions. A CELL too, although it's performance is pretty awful when doing double-precision computations.
Upvotes: 3