- 778 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 02:25:54 ]
- 1つの.cuの中で実装しているglobal関数の個数によって、
Kernel呼び出しのターンアラウンドタイムが変わるという奇妙な現象に遭遇してます。 特にKernelで処理するデータが少ない時に顕著になります。 関数の数を5〜10個で変えてみると、ターンアラウンドタイムは 最悪値で80μsec、最良で30μsecでした。 この値は timer.start(); for (int i=0;i<100;i++) test_kernel<<grid,thread>>(test); cudaThreadSynchronize(); timer.end(); みたいな書き方で調べてます。 9個目、10個目あたりで底があるようなのですが こういう現象について、合理的な説明はありますか? 僕にはさっぱり見当がつかないのであります。
|

|