Context
Context是cuda中很重要的一个概念,用于管理和跟踪GPU设备的交互,代表了一个应用程序与GPU间的通信环境。
GPU以Context来隔离资源,每个Context都会隔离其GPU资源。所谓的GPU资源包括:memory buffer(在显存上分配的buffer),modules(代码数据包),function(核函数),streams,texture等等。在一个Context申请的内存无法被另一个Context的函数引用,即使它们在同一个GPU的物理内存上。
在Context被销毁时,对应的资源也会被自动销毁。
Context 这种资源隔离的特性与运行在CPU上的进程一样。
Context的使用
在cuda中,CUcontext代表Context,对它的主要操作是创建,销毁及切换,CUcontext对象有引用计数,计数的初始值为1。
通过cuda driver api 管理context
cuCtxCreate(...)来创建CUcontext,引用计数为1。
CUdevice cuDevice = 0;
cuDeviceGet(

最低0.47元/天 解锁文章
966

被折叠的 条评论
为什么被折叠?



