c++对PTX文件中一些混乱的名称不够激进
c++filt not aggressive enough for some of the mangled names in PTX files
我正在通过c++filt过滤我编译的PTX,但它只删除了一些名称/标签,并保留了一些原样。例如:
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
)
的要求如下:
.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
)
而不是至少这样:
.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++名称?
- 是否有可能/容易增强c++填充与CUDA"格式"的意识,除了"格式"它已经(
[-s|--format {none,auto,gnu,lucid,arm,hp,edg,gnu-v3,java,gnat,dlang}]
)? - 如果c++filt在这种情况下不能使用或适应使用,我应该如何着手做需求?
引用文档
设备函数的c++实现遵循Itanium c++ ABI。
c++filt
实现了对Itanium c++ ABI符号的抽取,因此,它可以从PTX源或ELF对象中抽取内核名和设备函数名。
但是,您发布的其他符号是CUDA ABI符号。c++filt
不支持这些,因为它不支持CUDA ABI。他们看起来是否相似是无关紧要的。如果你真的需要这个,那么请NVIDIA在工具链中添加一个CUDA ABI符号的请求器,就像他们对ELF实用程序和其他内部工具所做的那样。
相关文章:
- 如何克服提升精神AST混乱
- 为什么程序员同时使用 std::bad_alloc 和 std::exception.是否 std::例外 仅是不够的
- 整数类型应该显式转换(例如"int"到"无符号")还是只会增加混乱?
- std::result_of语法混乱
- 使用具有默认参数的函数模板进行 decltype 会使结果混乱(一个有趣的问题或 gcc 的错误)
- C++中多线程的混乱
- Arduino LCD 显示屏显示混乱的字母
- 在MSDOS编译器上,用大于最大值的值初始化int时输出混乱
- 库设计混乱.. "public"/"private"(模板)标题,库文件..?
- 常量指针上的混乱
- 智能手机代码厨师问题逻辑混乱
- 在鼠标按下时移动 SDL2 窗口的功能闪烁窗口并且移动速度不够快
- 为什么我们需要构建一个提升库,仅仅包含头文件还不够吗,因为提升是模板
- 数组和指针使算术混乱
- C++智能指针混乱
- 双链表混乱
- SFML视图与窗口混乱
- 写入位集的速度不够快
- 如果我将html与QTextEdit一起使用,则键入会很混乱
- c++对PTX文件中一些混乱的名称不够激进