여기 프리 페치은 PTX에서 작동하는 방법이다 :
이
![enter image description here](https://i.stack.imgur.com/nnDPm.png)
당신은 CUDA 커널에 PTX 지침을 포함 할 수 있습니다.
__device__ int cube (int x)
{
int y;
asm("{\n\t" // use braces for local scope
" .reg .u32 t1;\n\t" // temp reg t1,
" mul.lo.u32 t1, %1, %1;\n\t" // t1 = x * x
" mul.lo.u32 %0, t1, %1;\n\t" // y = t1 * x
"}"
: "=r"(y) : "r" (x));
return y;
}
당신은 C에서 다음 프리 페치 기능 결론 올 수 있습니다 :
__device__ void prefetch_l1 (unsigned int addr)
{
asm(" prefetch.global.L1 [ %1 ];": "=r"(addr) : "r"(addr));
}
주의 사항 : 여기 NVIDIA's documentation에서 작은 샘플입니다 당신은 프리 페치에 대한 계산 능력 2.0의 GPU 이상이 필요합니다. 적절하게 컴파일 플래그를 전달하십시오. -arch=sm_20
개념 자체에 대한 설명과 같이 프리 페치가 작동하는 방식에 대한 추가 설명서를 제공 할 수 있습니까? –
확실! 이 GPGPU 프리 페치 연구를 확인하고 참조를 통해 개념에 대해 자세히 알아보십시오. http://www.cc.gatech.edu/~hyesoon/lee_taco12.pdf – ahmad