Nsight IDE를 사용하여 코드를 성능 분석하려고합니다.Cuda 프로그래밍의 액티브 워프
나는 행렬을 더하는 간단한 예제를 사용했다.
내가 좋아하는 내 커널을 호출 오전 :
VecAdd < < < 1, BLOCK_SIZE BLOCK_SIZE >>> DA (, dB, DC, BLOCK_SIZE BLOCK_SIZE);
여기 BLOCK_SIZE는 16
__global__ void VecAdd(float *dA, float *dB, float *dC, int N)
{
int i = threadIdx.x;
if (i < N)
dC[i] = dA[i] + dB[i];
}
점유율 분석을하는 동안,
내가 0.97으로 달성 액티브 휘어을 얻고있다.
이유에 대해 알 수 없습니다.
보고서를 첨부했습니다. 누군가 이것이 왜 그런지 설명해 주시겠습니까? 점유 달성
* 하나 * 16 * 16 블록을 실행 중입니까? 나는 그것이 합리적인 프로필을위한 충분한 지 모르겠습니다. –
성능 분석을보고 싶기 때문에 16 * 16 스레드와 1 블록으로 시작했습니다. 이제 나의 목표는 점유를 늘리는 것입니다. –