ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 18. 계산 쉐이더 ( Compute shader )
    Software/DirectX 2024. 5. 24. 10:18
    728x90

    Table of Contents

    1. 계산 셰이더

    2. 스레드와 스레드 그룹





     

    1. 계산 셰이더
    • 그래픽 카드의 빠른 대용량 병렬 계산 능력을 활용하는 셰이더 단계
    • 그래픽 처리에 사용하지 않아도 그래픽 메모리에 접근할 수 있게 하는 수단(GPU가 CPU로 자료 전송)으로, GPGPU(general purpose GPU)프로그래밍에 최적화된 단계이다.
    • 물론 그래픽 처리에서도 계산셰이더에서 구현할 수 있는 효과들이 많이 있다.
    • 따라서 계산 셰이더는 렌더링 파이프라인에 독립적이나, 경우에 따라서 렌더링 파이프라인에 묶어서 사용하는 것도 가능하다.






     

    2. 스레드와 스레드 그룹
    • 계산 셰이더를 컴팩트하게 활용하기 위해서는 스레드 그룹을 GPU에 적절하게 배분하는 것이 중요하다.
    • GPU의 한 다중 처리기에 적어도 두 개의 스레드 그룹을 두는 것이 바람직하다.
    • 하나의 다중처리기에서 정체현상(stall)이 발생하면 다른 그룹의 스레드들로 처리를 전환시킬 수 있기 때문이다.
    • 하나의 스레드 그룹은 다수의 스레드로 이루어진다. NVIDIA에서는 한 스레드그룹(와프)당 32개(SIMD32), AMD에서는 한 스레드그룹(웨이브프런트)당 64개의 스레드로 처리하고, 따라서 한 스레드 그룹의 크기를 이 갯수들의 배수로 설정하는 것이 그래픽카드를 최대로 활용할 수 있는 방법이다.






    728x90

    'Software > DirectX' 카테고리의 다른 글

    20. 1인칭 카메라  (0) 2024.05.24
    19. 테셀레이션 단계 ( Tessellation Stage )  (0) 2024.05.24
    17. 기하 쉐이더 ( Geometry shader )  (0) 2024.05.24
    16. 스탠실 ( Stencil )  (0) 2024.05.24
    15. 블렌딩 ( Blending )  (1) 2024.05.24