【发布时间】:2019-06-23 00:08:23
【问题描述】:
我有一个使用启用了 cuda 的功能和 gcc 编译的二进制文件。我想知道二进制文件中包含哪些 cuda 架构?
我的意思是 sm 和计算兼容性数字,它们是 -gencode arch=compute_XX,code=sm_XX。
【问题讨论】:
我有一个使用启用了 cuda 的功能和 gcc 编译的二进制文件。我想知道二进制文件中包含哪些 cuda 架构?
我的意思是 sm 和计算兼容性数字,它们是 -gencode arch=compute_XX,code=sm_XX。
【问题讨论】:
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 有效负载。
【讨论】: