这两个部分实际上是在Host上也是需要注意的问题, 特别是很多CUDA老用户都不知道应当怎么正确处理。..., 父kernel的正常运行环境(例如需要的显存内容), 已经被挂掉的子kernel破坏掉了,此时无法像Host上那样, 通过后续的同步之类的位置, 能返回异步错误检测到子kernel挂了, 这个做不到了...而不能在上一级检测到.这点需要注意.
以及, 需要说明的是, 曾经见过一些kernel挂的很快, 导致上面说的两处检测的第一处都会直接挂掉,例如>>后面的下一行立刻就已经完蛋了....因为做不到啊,Driver API被设计成跨语言的, 不要求Host语言也是CUDA C, 例如从其他第三方软件中,或者第三方开发环境中, 例如C#, golang之类,此时这些环境或者语言不能使用对于来自CUDA 3.2之前的老用户, 是非常熟悉的过程,
因为很像当时流行的driver api的参数填充过程.这里就不说了, 手册也已经删除了相关内容。