[CUDA] 编译调试工具objdump使用查看某些cuda函数汇编代码

这篇文章用获取一些cuda 库函数的实现细节,用于调查异常耗时等表现。(因为有的时候因为环境信息,导致cublasHgemm等函数在CPU端的启动函数变化很长,这种情况下用nsight system只能获取变长的表现,不能确定是什么原因导致的变长,这就需要了解逻辑实现来确定可能的原因。)

基本命令组合nm+objdump

  • nm: 获取函数的跳转索引
  • objdump + grep -A10 -B10 获取制定跳转位置汇编语言的上下10行
nm -D libcublas.so | grep cublasGemmEx 得到代码地址
objdump -d libcublas.so | grep -A100 -B10 "b9d660:" 根据地址查询代码

使用cuobjdump获取device function对应的ptx代码

  • 可以通过上面找到一些C++接口函数调用的device函数逻辑,然后用这个cuobjdump获取device function的具体内容
cuobjdump --dump-ptx libcublas.so | grep some_key_words


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值