2012-11-07 18 views
5

私はCコードを介してCUDA(Fermi GPU)でデータプリフェッチを行っています。 Cudaのリファレンス・マニュアルでは、ptxレベル・コードでのプリフェッチについて、Cレベル・コードではなく、(Cコードで)cudaでプリフェッチ

誰かが私にいくつかのドキュメントやcudaコード(cuファイル)を介して先読みに関するものを私に接続できますか?どんな助けもありがとう。あなたはCUDAカーネルにPTX命令を埋め込むことができ

enter image description here

:ここPTX manualによると

答えて

5

はどのようにプリフェッチ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

+0

コンセプト自体の説明のように、プリフェッチの仕組みに関するドキュメントをいくつか用意してください。 –

+2

GPGPUの先読み調査を確認し、参考文献を参照してコンセプトについて詳しく調べてください:http://www.cc.gatech.edu/~hyesoon/lee_taco12.pdf – ahmad

関連する問題