私のアプリケーションを実行すると、GPU の初期化が原因で、最初の cuda_malloc に 40 秒かかります。デバッグ モードでビルドすると、これは 5 秒に短縮され、Fermi デバイスで同じコードを実行すると、1 秒もかかりません (私の場合は測定する価値さえありません)。
おもしろいことに、sm20 の代わりにフラグ sm35 を使用して、この特定のアーキテクチャ用にコンパイルすると、再び高速になります。まだ新しい sm35 機能を使用するべきではないので、どうすれば sm20 用にコンパイルし、この大きな遅延を回避できますか? また、この遅延の原因は何ですか? マシンコードはオンザフライで sm35 コードに再コンパイルされますか?
Ps。私は Windows で実行していますが、同僚がおそらく Windows で同じ問題に遭遇しました。デバイスは Kepler、ドライバー バージョン 320 です。