Log in

View Full Version : ffdshow Supporter New instruction set?


hogtop
12th February 2013, 12:31
ffdshow Supporter New instruction set?
FMA3, FMA4, CVT16, F16C ?

http://www.techpowerup.com/cpudb/1292/AMD_Opteron_6386_SE.html
this is my cpu

mandarinka
12th February 2013, 12:43
Those aren't really going to be useful for video/audio decoding, most likely. The most CPU-hungry code is in video decode, and that is using integer SIMD math instead.

hogtop
13th February 2013, 08:18
thay built code without using it ?
Did not make sense

AMD reply
FMA3 and FMA4 are just instruction sets which refer to "Fused Multiply-Add" instructions. This is really only required for higher-level scientific computations (d = a + b x c would have d sharing a register with a,b or c, in FMA3 but they would have separate registers for FMA4). FMA3 is simpler and easier to utilize by the CPU and by developers, while FMA4 allows more flexibility with what the CPU and developers are able to do during Fused Multiply-Add computations. The CVT16 extension (part of SSE5) just allows for the conversion of floating-point numbers to single-precision or half-precision, while F16C is similar in that it is just a conversion for storing 32-bit floating-point numbers to 16-bit.

Quad-channel Memory architecture helps to prevent bottlenecks on systems that feature a lot of memory usage at the same time. This basically combines access to the memory together so that 4 sticks can be used simultaneously by the memory controller instead of just 2, to ensure that there aren't any bottlenecks with the virtual desktops or normal server usage, thus improving efficiency and reliability on the server. This won't make things run faster, but it will help it to run more reliably with fewer interruptions due to high memory usage on the system.

LoRd_MuldeR
14th February 2013, 01:47
Regardless of what CPU vendors try to make you believe: Just because your CPU supports a certain new "instruction set", it doesn't mean that this instruction set will actually be useful for a particular application!

A lot of people seem to think: "Hey, my CPU supports that fancy new instruction set XYZ, so every application out there must start using that instruction set right now!" But that's not how things work in the real world ;)

As mandarinka pointed out, instruction sets that add new floating-point instructions are pretty much useless for applications that primarily use integer math - and vice versa.

Furthermore, even if an instruction set might actually be useful for a specific application, it's not like you'll "magically" get a speed up. Developers need to conceive new assembler code in order to actually benefit from new instructions!

Finally there is no guarantee that new instructions make things "faster". For example there were CPU's that supported 128-Bit SSE instructions, but internally split each of these instructions into two 64-Bit MMX instructions...

(BTW: Do you remember when Intel came out with the Pentium III and heavily tried to make us believe that SSE will make your Internet connection faster? :D)

mandarinka
14th February 2013, 14:43
Well, they are technically called "Streaming SIMD Extensions", hehe. But did they really market it like that back then? I know that exactly this was prolly supposed to be read "between lines" from the Netburst name :) At least people perceived that as such a marketing pseudo-lie. ... Netburst does have a nice sound to it tho, much better than the geographical names, or "4th generation Core architecture" tsk.