2011-02-01 6 views
0

입니다. 친애하는 친구 : 저는 CUDA 프로그래밍을 배우고 싶습니다. Nvidia GTS 450 PCI_E 자동차를 구입했습니다. 그것은 192 개의 SM을 가지고 있고, 얼마나 많은 쓰레드를 가지고 있습니다. 192 스레드? 또는 192 * 512 스레드? 감사합니다nvidia GTS 450의 스레드 수는

답변

1

the specs에 따르면 기기에 192 개의 "프로세서 코어"가 있습니다. 이는 이 아니며은 SM과 동일합니다. CUDA에서 SM은 lockstep에서 다중 스레드를 실행하는 다중 프로세서입니다 (1.3 제품군의 장치에서 8 개, 이후 장치에서 더 많음).

사용 된 스레드의 수는 커널 호출의 함수입니다.

일반적으로 CUDA에서 좋은 성능을 얻으려면 CUDA 프로세서 코어보다 많은 스레드를 실행해야합니다. 이는 전역 메모리 액세스 지연을 숨기는 것입니다.

+0

도움을 주셔서 대단히 감사드립니다! 호출 할 수있는 최대 스레드 수에 대한 최대 한도가 있습니까? – ztdep

+0

실행할 수있는 최대 스레드 수는 블록 당 최대 스레드 수와 최대 그리드 크기의 곱입니다. CUDA 프로그래밍 가이드를 확인하십시오 - 값을 알려줍니다. – Edric

2

CUDA에서 용어 threads은 하드웨어의 속성이 아니라 특정 커널 호출의 속성을 나타냅니다. 이 CUDA 호출의 예를 들어
는 :

someFunction<<<2,32>>>(1,2,3); 

당신은 2 개 블록 총 그래서 64 스레드에서 32 개 스레드를 가지고있다.
하드웨어가 스레드를 프로세서에 자동으로 예약합니다.

+2

나는 그가 가능한 최대 스레드 수를 요구하고 있다고 생각한다. 각 블록에서 최대 512 개의 스레드를 고려할 때 그는 자신의 GPU가 192 * 512 스레드를 한 번에 실행할 수 있는지에 대해 궁금해합니다. – jetru

관련 문제