2017-09-30 5 views
0

의 각 스레드가 사용하는 레지스터 수를 제한하는 방법은 커널을 시작할 때 각 스레드가 사용하는 레지스터 수를 제한하는 방법이 있는지 알고 싶습니다. 각 스레드에서 많은 계산을 수행하므로 사용되는 레지스터 수가 너무 많아서 점유율이 낮습니다. 병렬 스레드 실행을 향상시키기 위해 사용되는 레지스터의 수를 줄이려고합니다. 아마도 더 많은 메모리 액세스를 희생해야합니다.Numba (CUDA)

나는 해답을 찾았지만 해결책을 찾지 못했습니다. 나는 CUDA toolchain으로 thread가 사용하는 최대 레지스터 수를 설정할 수 있다고 생각하지만, Numba를 사용할 때 가능합니까?

EDIT : 컴파일러가 사용 된 레지스터의 수를 줄이기 위해 최소 수의 블록을 멀티 프로세서에서 실행해야 할 수도 있습니다.

답변

1

numba가 제공하는 cuda.jit 기능은 기본 CUDA 툴 체인에서 가능한 것처럼 레지스터 할당을 제어 할 수있는 인수를 CUDA 어셈블러에 전달할 수 없습니다.

그래서 저는 여러분이 요청한 것을 할 방법이 있다고 생각하지 않습니다.