gcc - 在二进制文件中查找计算和 sm 数字
问题描述
我有一个使用启用了 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 有效负载。
推荐阅读
- javascript - 标签和复选框链接的d3顺序
- python - 如何在 python 3.7 的 if 语句中对输入函数使用逻辑运算符?
- android - 如何将可绘制矢量的大小调整为设备字体大小
- php - 匹配格式错误的编号列表(1.、2.、3.等)、正则表达式之间的内容
- angular - NativeScript CLI 也可以生成规范文件吗?
- css - Create React App 生成的应用程序的 Sass 文件中的相对 img url 问题
- javascript - 对齐项目的问题
- javascript - 链接点击事件以执行相同的操作
- python - [i,:] 在 Python 中是什么意思?
- python-3.x - 如何根据其他列查找列值是否被低估或高估?