Author Topic: SIMD  (Read 6827 times)

0 Members and 1 Guest are viewing this topic.

Offline Kent Sarikaya

  • Full Member
  • ***
  • Posts: 173
  • User-Rate: +8/-4
SIMD
« on: October 25, 2007, 09:57:33 AM »
I read this post tonight and thought you guys might find it interesting. I didn't know this kind of stuff could be done with current cpus.
It is a c++ and ASM post, but very well written and describes this cool feature.

http://www.3dbuzz.com/vbforum/showthread.php?t=104753

Offline Charles Pegge

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 804
  • User-Rate: +33/-1
    • Charles Pegge
Re: SIMD
« Reply #1 on: October 25, 2007, 12:47:38 PM »
The SIMD extensions are primarily aimed at graphics vector processing and as the article points out, do not support square roots and the like directly, so these have to be approximated. They do the barebones minimum operations in parallel very efficiently, which is ideal for pixels, but can also be useful in other areas such as audio or simulation. Unfortunately, because the FPU shares much of the register and pipeline hardware as the MMX and SIMD extensions, you cant intermix FPU instructions with SSE instructions.

Current versions of PB go as far as supporting MMX but no further, so you will have to use opcodes to invoke the SIMD instructions.

Offline Kent Sarikaya

  • Full Member
  • ***
  • Posts: 173
  • User-Rate: +8/-4
Re: SIMD
« Reply #2 on: October 25, 2007, 09:57:21 PM »
Thanks Charles. Your examples with ASM are so nice to look at that it doesn't scare someone from studying it. Now I understand how opcodes work too, so slowly grasping things :)