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