SIMD on an Array of Doubles?

Question!

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



Answers

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.



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.



This video can help you solving your question :)
By: admin