OpenCL1.1上的延迟策略

OpenCL1.1上的延迟策略,opencl,Opencl,OpenCL1.1中是否有任何惰性策略来处理数据传输?我知道CUDA有这个策略,所以您可以分配比设备上更多的内存。我对OpenCL不太熟悉,但找到了一个相关的解决方案 我还想我会回复关于CUDA的事,以防以后有人碰到 我认为原生CUDA没有办法分配比设备上物理可用内存更多的内存。事实上,即使在更大的卡上,您也无法分配一个大的连续阵列,因为该卡有单独的内存库,例如,早在1060年,我记得3gb卡的容量限制在1.5gb左右。您能否提供一些细节,说明CUDA允许如此大的分配是什么意思 如果您正在使用(

OpenCL1.1中是否有任何惰性策略来处理数据传输?我知道CUDA有这个策略,所以您可以分配比设备上更多的内存。

我对OpenCL不太熟悉,但找到了一个相关的解决方案

我还想我会回复关于CUDA的事,以防以后有人碰到

我认为原生CUDA没有办法分配比设备上物理可用内存更多的内存。事实上,即使在更大的卡上,您也无法分配一个大的连续阵列,因为该卡有单独的内存库,例如,早在1060年,我记得3gb卡的容量限制在1.5gb左右。您能否提供一些细节,说明CUDA允许如此大的分配是什么意思


如果您正在使用(或),他们的基本想法是:如果您有很多小的分配,其总量超过了卡上的可用量,那么它只将最重要的部分保留在设备上,而其他部分保留在主机上,直到需要时为止。

您能给出一个使用示例吗?我无法想象人们为什么会这样做。例如,你有一个结构列表链接在主机内存中,但没有顺序,因为在计算过程中它已经被更新了。然后,你应该发送更多的计算列表的一部分到GPU,但所需的信息可能已经上传或没有。因此,稍后您可以决定获取更多列表。懒惰策略使您有机会在需要时上传数据。