Skip to content

SIMD

SIMD(Single Instruction Multiple Data)는 병렬 프로세서의 한 종류로, 하나의 명령어로 여러 개의 값을 동시에 계산하는 방식이다.

벡터 프로세서에서 많이 사용되는 방식으로, 비디오 게임 콘솔이나 그래픽 카드와 같은 멀티미디어 분야에 자주 사용된다. CPU에서는 인텔의 MMX, 스트리밍 SIMD 확장(SSE)과 AMD의 3D나우! 등의 기술에서 이를 적용했다.

x86 instruction sets

List of all the instruction sets headers that need to be included to use intrinsect functions with GCC and Visual Studio (and Intel compiler for supported instruction set).

  • x86intrin.h: x86 instructions
  • mmintrin.h: MMX (Pentium MMX!)
  • mm3dnow.h: 3dnow! (K6-2) (deprecated)
  • xmmintrin.h: SSE + MMX (Pentium 3, Athlon XP)
  • emmintrin.h: SSE2 + SSE + MMX (Pentiuem 4, Ahtlon 64)
  • pmmintrin.h: SSE3 + SSE2 + SSE + MMX (Pentium 4 Prescott, Ahtlon 64 San Diego)
  • tmmintrin.h: SSSE3 + SSE3 + SSE2 + SSE + MMX (Core 2, Bulldozer)
  • popcntintrin.h: POPCNT (Core i7, Phenom subset of SSE4.2 and SSE4A)
  • ammintrin.h: SSE4A + SSE3 + SSE2 + SSE + MMX (Phenom)
  • smmintrin.h: SSE4_1 + SSSE3 + SSE3 + SSE2 + SSE + MMX (Core i7, Bulldozer)
  • nmmintrin.h: SSE4_2 + SSE4_1 + SSSE3 + SSE3 + SSE2 + SSE + MMX (Core i7, Bulldozer)
  • wmmintrin.h: AES (Core i7 Westmere, Bulldozer)
  • immintrin.h: AVX, SSE4_2 + SSE4_1 + SSSE3 + SSE3 + SSE2 + SSE + MMX (Core i7 Sandy Bridge, Bulldozer)

Libraries

See also

Favorite site

Programming

References


  1. SIMD_Parallel_Programming_-_StonzeBlog.pdf 

  2. Www.kernel.org_-_ps3-linux-docs.zip (/CellProgrammingTutorial/BasicsOfSIMDProgramming.html 참조)