응애맘마조

SIMD 본문

공부/3D과제

SIMD

TH.Wert 2023. 6. 19. 23:52

주의 : 해당 게시물에서 작성될 내용은 과제를 해결하기 위해 출처의 내용을 그대로 작성한 부분이 많으며 일절 광고나 수익 창출 목적으로 쓰인 것이 아님을 밝힙니다.

사진으로 보는 SIMD

영상으로 보는 SIMD

SIMD는 한 번에 데이터 여러 개를 명령어 하나로 처리하는 기법을 말합니다. 현재 대부분 프로그램은 하나의 명령으로 하나의 데이터를 처리하는 것이고 2개의 데이터를 처리하려면 2번 연산을 하는 SISD 방식으로 동작합니다. 이는 CPU 성능을 100% 활용하지 못하는 방식입니다. CPU 정보를 볼 수 있는 프로그램에서 MMX, SSE, SSE2, SSE3 같은 형식을 볼 수 있습니다.

Intel SIMD Extention MMX SSE/SSE2 AVX/AVX2 AVS512F
레지스터 크기 64 128 256 512

위의 표는 명령어의 레지스터 크기입니다.

128비트의 레지스터 자료형은 _m128, _m128d, _m128i가 있으며 _m128, _m128d는 실수형을 표현하기 위한 자료형이고 _m128i는 정수를 표현하기 위한 자료형입니다.

256비트의 레지스터 자료형은 위의 128비트의 2배 크기이며 _m256, _m256d, _m256i가 있으며 _m256, _m256d는 실수형을 표현하기 위한 자료형이고 _m256i는 정수를 표현하기 위한 자료형입니다.

512비트의 레지스터 자료형은 위의 256비트의 2배 크기이며 _m512, _m512d, _m512i가 있으며 _m512, _m512d는 실수형을 표현하기 위한 자료형이고 _m512i는 정수를 표현하기 위한 자료형입니다.

 

지금까지 보면서 기존의 SISD보다 SIMD가 더 효율적이라는 것을 확인할 수 있고 벡터나 행렬 연산이 필요한 데이터 구조에 적합합니다.

 

읽어주셔서 감사합니다.

'공부 > 3D과제' 카테고리의 다른 글

스키닝 애니메이션  (0) 2023.06.22
Assimp 로드  (0) 2023.06.21
맵 안에서 캐릭터 움직이기2  (0) 2023.06.15
맵 안에서 캐릭터 움직이기  (0) 2023.06.13
맵 매핑  (0) 2023.06.13
Comments