【发布时间】:2011-08-12 03:02:42
【问题描述】:
作为一个更大项目的一部分,我遇到了一个奇怪的一致错误,我无法理解,但它是一个典型的“黑匣子”错误;使用cuda-gdb python -m pycuda.debug prog.py -args 运行时,它运行良好,但速度较慢。如果我放弃 pycuda.debug,它就会中断。始终如一地在多内核执行的同一点上。
解释;我有(目前三个)内核,用于不同的网格和块排列,以解决更大优化问题的“切片”。这些严格来说应该可以工作,也可以不工作,因为函数本身只被告知“这里还有一些数据”,除了数据的内容之外,不知道诸如迭代次数之类的任何内容,无论它们的输入数据是否已分区或不是,直到这一点,他们表现完美。
基本上,如果没有 pycuda.debug 将调试符号暴露给 GDB,我看不到发生了什么,但我也看不到 pycuda.debug 的问题。
pycuda 实际上做了什么,所以我知道要在我的内核代码中寻找什么?
【问题讨论】:
标签: python debugging cuda gpgpu pycuda