当您在GPU上从主内核中启动次要内核时,会有一些开销。哪些因素影响或影响此开销的数量?例如,内核代码的大小,正在启动内核的SM的占用率,内核参数的大小等。
为了这个问题,让我们包容,并将“开销”定义为以下时间间隔的总和:
开始:一个SM看到启动指令 结束:一个SM开始执行子内核的指令
加上
开始:最后一个SM执行任何子内核的指令(或者子内核指令的最后写入提交到相关的内存空间) 结束:在子内核启动之后执行父级下一个指令。
为了这个问题,让我们包容,并将“开销”定义为以下时间间隔的总和:
开始:一个SM看到启动指令 结束:一个SM开始执行子内核的指令
加上
开始:最后一个SM执行任何子内核的指令(或者子内核指令的最后写入提交到相关的内存空间) 结束:在子内核启动之后执行父级下一个指令。