我需要知道内核函数在什么时候被添加到GPU队列中。 我做了一个CUDA程序的ltrace并得到了几个调用 1.cudaconfigurecall 2.cudamemcpy 我也得到了cudaLaunch() 我的问题是,在调用cudaLaunch时或之前或之后的某个时间,是否添加了特定的内核函数。 哪个函数负责将内核函数添加到队列中。?
答案 0 :(得分:3)
调用cudaLaunch
时会添加该函数。先前的API调用,例如cudaSetupArgument
和cudaConfigureCall
,保留并初始化为即将到来的内核启动调用堆栈帧,但堆栈帧不与给定的内核函数关联,也不会被推到设备,直到调用cudaLaunch
。所有这些函数在CUDA工具包中都有自己的文档,您可以阅读它们here。