首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于PTX文件中一些损坏的名称,c++filt不够积极。

对于PTX文件中一些损坏的名称,c++filt不够积极。
EN

Stack Overflow用户
提问于 2016-08-31 12:03:35
回答 1查看 309关注 0票数 1

我正在通过c++filt过滤编译后的PTX,但它只分解了一些名称/标签,并保留了一些原有的名称/标签。例如,这是:

代码语言:javascript
复制
func  (.param .b32 func_retval0) _ZN41_INTERNAL_19_gather_bits_cpp1_ii_56538e7c6__shflEiii(
        .param .b32 _ZN41_INTERNAL_19_gather_bits_cpp1_ii_56538e7c6__shflEiii_param_0,
        .param .b32 _ZN41_INTERNAL_19_gather_bits_cpp1_ii_56538e7c6__shflEiii_param_1,
        .param .b32 _ZN41_INTERNAL_19_gather_bits_cpp1_ii_56538e7c6__shflEiii_param_2
)

令人沮丧的是:

代码语言:javascript
复制
.func  (.param .b32 func_retval0) _INTERNAL_19_gather_bits_cpp1_ii_56538e7c::__shfl(int, int, int)(
        .param .b32 _ZN41_INTERNAL_19_gather_bits_cpp1_ii_56538e7c6__shflEiii_param_0,
        .param .b32 _ZN41_INTERNAL_19_gather_bits_cpp1_ii_56538e7c6__shflEiii_param_1,
        .param .b32 _ZN41_INTERNAL_19_gather_bits_cpp1_ii_56538e7c6__shflEiii_param_2
)

而不是至少这一点:

代码语言:javascript
复制
.func  (.param .b32 func_retval0) _INTERNAL_19_gather_bits_cpp1_ii_56538e7c::__shfl(int, int, int)(
        .param .b32 _ZN41_INTERNAL_19_gather_bits_cpp1_ii_56538e7c::__shfl(int, int, int)_param_0,
        .param .b32 _ZN41_INTERNAL_19_gather_bits_cpp1_ii_56538e7c::__shfl(int, int, int)_param_1,
        .param .b32 _ZN41_INTERNAL_19_gather_bits_cpp1_ii_56538e7c::__shfl(int, int, int)_param_2
)

我意识到c++filt对CUDA PTX没有明确的支持;但是请注意,在示例中,非直角名称与示例中仅通过添加_param_0_param_1等后缀的名称不同(还有一个问题,即这些名称的前缀应该如何去掉,但让我们忘记这一点)。

  • 我是否可以强迫c++filt也应用于参数名称/标签?更广泛地说,对于PTX文件中所有损坏的C++名称?
  • 除了它已经拥有的“格式”([-s|--format {none,auto,gnu,lucid,arm,hp,edg,gnu-v3,java,gnat,dlang}])之外,是否有可能/容易增加对数据自动化系统“格式”的认识来增强[-s|--format {none,auto,gnu,lucid,arm,hp,edg,gnu-v3,java,gnat,dlang}]
  • 如果在这种情况下不能使用或修改c++filt,那么我应该如何进行需求分析呢?
EN

回答 1

Stack Overflow用户

发布于 2016-08-31 14:59:08

引用文档的话

设备功能的C++实现遵循Itanium C++ ABI。

c++filt实现了Itanium C++ ABI符号的解析,因此它可以将内核名和设备函数名从C++源或ELF对象中分离出来。

但是,您发布的其他符号是CUDA ABI符号。c++filt不支持这些,因为它不支持CUDA ABI。它们看起来是否相似是无关紧要的。如果你真的需要这一点,那么请NVIDIA为CUDA ABI符号添加一个工具链,就像它们在ELF实用程序和其他内部工具中所做的那样。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39249151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档