首页 > 解决方案 > 在二进制文件中查找计算和 sm 数字

问题描述

我有一个使用启用了 cuda 的功能和 gcc 编译的二进制文件。我想知道二进制文件中包含哪些 cuda 架构?

我的意思是 sm 和计算兼容性数字是-gencode arch=compute_XX,code=sm_XX.

标签: gcccudanvcc

解决方案


NVIDIA 提供二进制实用程序,可以显示标头并反汇编目标文件、库和可执行文件中的二进制有效负载。cudaobjdump可以如下使用:

$ nvcc -arch=sm_62 -std=c++11 -I ./ main.cu -o main
$ cuobjdump ./main

Fatbin elf code:
================
arch = sm_62
code version = [1,7]
producer = <unknown>
host = linux
compile_size = 64bit

Fatbin elf code:
================
arch = sm_62
code version = [1,7]
producer = cuda
host = linux
compile_size = 64bit

Fatbin ptx code:
================
arch = sm_62
code version = [5,0]
producer = cuda
host = linux
compile_size = 64bit
compressed

其中显示了可执行文件中包含的二进制和 PTX 有效负载。


推荐阅读