크기 2^18의 두 열 벡터에 대해 SAXPY를 수행하는 간단한 CUDA 커널을 작성했습니다.왜 맥스보다 작은 쓰레드를 사용하면 커널이 더 빨리 돌아갈 수 있습니까?
내 GPU 인 테슬라 C2070은 블록 당 최대 1024 개의 스레드를 실행할 수 있다는 것을 알게되었습니다. 그러므로 나는 블록 크기를 X = 1024, Y = 1, Z = 1로 만들었습니다. 또한 X = 2^18/1024, Y = 1, Z = 1로 그리드 크기를 만들었습니다. 블록 당 모든 단일 스레드를 사용하고있었습니다.
그러나, 나는 일관 = 1024
이유는 무엇입니까 X의 블록 크기의 커널을 실행하는 것보다 빠른 시간에 귀착 = 512 X의 블록 크기와 커널과 X = (128)을 실행하는 것을 발견? 블록 크기가 1024 미만인 경우 스레드를 낭비하지 않습니까?