5

CUDA コンテキストを作成するにはどうすればよいですか? CUDA の最初の呼び出しが遅いため、カーネルを起動する前にコンテキストを作成したいと考えています。

4

2 に答える 2

12

ランタイム API コンテキストの確立を強制する標準的な方法は、 を呼び出すことcudaFree(0)です。cudaSetDevice()複数のデバイスがある場合は、コンテキストを確立するデバイスの ID を使用して呼び出し、コンテキストcudaFree(0)を確立します。

編集: CUDA 5.0 の時点で、コンテキスト確立のヒューリスティックがわずかに異なり、cudaSetDevice()それ自体が呼び出されたデバイスでコンテキストを確立するように見えることに注意してください。したがって、明示的なcudaFree(0)呼び出しは不要になりました (ただし、何も害はありません)。

于 2012-05-02T14:37:07.873 に答える
2

ランタイム API: cudaDeviceSynchronizecudaDeviceGetLimit、または実際にコンテキストにアクセスするものはすべて動作するはずです。

そのような遅延初期化を行わないため、ドライバーAPIを使用していないことは確かですが、他の人の利益のために、ドライバー呼び出しはcuCtxCreate.

于 2012-05-02T14:00:39.840 に答える