我对cuda寄存器内存有一些问题。
1)是否有方法在cuda内核中释放寄存器?我在寄存器中有变量、1D和2D数组。 (最大数组大小为48)
2)如果我使用设备函数,那么设备函数中使用的寄存器会发生什么情况?它们在执行后是否可用于调用内核执行或其他设备函数?
3)nvcc如何优化寄存器使用?请分享与内存密集型内核优化相关重要的点。
PS:我要将一个复杂算法移植到cuda中,它需要大量寄存器进行计算,我正在尝试弄清楚是将中间数据存储在寄存器中并编写一个内核,还是将其存储在全局内存中并将算法分解成多个内核。
1)是否有方法在cuda内核中释放寄存器?我在寄存器中有变量、1D和2D数组。 (最大数组大小为48)
2)如果我使用设备函数,那么设备函数中使用的寄存器会发生什么情况?它们在执行后是否可用于调用内核执行或其他设备函数?
3)nvcc如何优化寄存器使用?请分享与内存密集型内核优化相关重要的点。
PS:我要将一个复杂算法移植到cuda中,它需要大量寄存器进行计算,我正在尝试弄清楚是将中间数据存储在寄存器中并编写一个内核,还是将其存储在全局内存中并将算法分解成多个内核。