2016-09-28 1 views

답변

1

OpenGL 사양은 nVidia 특정 구현 세부 사항 인 warps에 대해서는 언급하지 않습니다. OpenGL은에서는

쉐이더가 호출작업으로 분할되는 용어. 작업 그룹의 셰이더 호출 수는 셰이더의 layout(local_size_x = X​, local_size_y = Y​, local_size_z = Z​) in; 선언에 의해 지정됩니다. 작업 그룹 수는 glDispatchCompute 호출에 지정됩니다. CUDA warps에 매핑되는 방법은 구현 세부 사항 이며 사용자는으로 사용자에게 투명합니다.

+0

성능면에서 볼 때 실제로는 투명하지 않습니다. 워프 디비전이 변경되면 공유 메모리 액세스 속도가 최대 32 배 느려질 수 있습니다 (NVIDIA 및 AMD 하드웨어에서) –

+0

@HuazuoGao : 예, 가능할 수 있습니다. 그러나 OpenGL 사양은 그 중 어떤 것에 대해서도 알려주지 않습니다. 명세는 * 추상화 *입니다. –

+0

@HuazuoGao : 사실, 구현이 하드웨어 리소스를 가장 효율적으로 할당한다고 가정하는 것이 합리적입니다. 정확한 thread-id ↔ warp 매핑은 실제로 낭비되지 않는다는 점에 유의하십시오. – ybungalobill