2012-09-08 5 views
0

약 16384 개의 스레드가 필요한 앱을 실행 중입니다. 그러나 실험을 통해 CUDA가 몇 가지 숫자를 넘어 스레드를 시작할 수 없다는 것을 알았습니다. 그래서, 특히 내 응용 프로그램에서, 14337 스레드가 시작될 때마다 스레드가 시작됩니다.CUDA가 스레드를 시작하지 않습니까?

그 이유는 무엇입니까?

sys 인 : 테슬라 C2070 리눅스 32 비트

+0

커널 실행을 포함하여 각 CUDA 호출에 대한 반환 값을 확인하고 있습니까? –

+0

예, 오류가 없습니다 !! 뭐가 될 수 있니? 운전사의 버그? CUDA 5.0 RC1 사용 –

+0

지난 시간 이후로 멈춤 –

답변

1

당신이 당신의 커널을 실행하는 방법에 대해 좀 더 구체적으로 할 수 있습니까? 이것은 단순한 추측이지만, 나에게 스레드 블록이 너무 큽니다. 이미 알고있는 것처럼 하나의 스레드 블록에서 16k 스레드를 시작할 수는 없습니다. 어쩌면 this SO thread이 도움이 될 수 있습니다. GPU에 대한 블록 당 최대 스레드 수는 1024 여야하므로 여러 스레드 블록에서 스레드를 구성해야합니다. 14k 스레드 만 실행되는지 확인하는 것도 흥미 롭습니다 (일부 소스 코드가 도움이 될 것입니다).

관련 문제