CUDA driver API学习

本文介绍了CUDA Driver API中的关键概念,包括Context管理的API如cuCtxGetSharedMemConfig、cuCtxPopCurrent和cuCtxPushCurrent,模块管理如cuModuleGetFunction和cuModuleLoad,以及内存管理如cuMemAlloc和cuIpc相关函数。此外,还讨论了occupancy计算函数和性能调优工具cuProfiler的使用。
摘要由CSDN通过智能技术生成

之前一直都是用runtime API写CUDA代码,对context等不是很了解,打算简单看一下driver API。

context management:
感觉对性能调优可能会有帮助的一些API:
*

  1. CUresult cuCtxGetSharedMemConfig (CUsharedconfig *pConfig):*
    获取当前context的shared memory bank width(4 bytes/ 8 bytes);可用于检查是否存在bank conflict。

  2. CUresult cuCtxPopCurrent (CUcontext *pctx):
    将当前CPU thread的context从当前CPU thread弹出;对应的context的句柄存放在pctx中,之后可被其他CPU thread设置为其current context(通过cuCtxPushCurrent())。

    1. CUresult cuCtxPushCurrent (CUcontext ctx):
      将ctx指定的context push到当前CPU thread对应的stack中,使其成为该thread的current context;上一个current context可以通过调用cuCtxDestroy()或者cuCtxPopCurrent()来获取;

    2. CUresult cuCtxSetCurrent (CUcontext ctx):
      将ctx指定的context与当前CPU thread绑定;其效果为:若当前CPU thread存在一个context stack,则ctx会取代当前stack的top context成为新的top;若ctx为空

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值