我目前正在使用cudaMallocPitch()加载图像,但它无法加载非常大的图像,因为没有足够的内存可用。我有非常大的图像要处理,因为我正在处理高光谱图像。如何部分加载镜像,对其进行处理,然后将结果放到磁盘上?
发布于 2012-02-14 02:19:13
有一些CUDA板有足够的内存来容纳2G镜像--特斯拉M2050和M2070分别有3 3GB和6 3GB的内存。
对于大于可用视频内存量的图像,您必须使用显式的memcpy手动循环传入和传出视频内存的图像数据,以块为单位对其进行处理。如果处理时间与向/从电路板传输数据所需的时间相当,则还应考虑使用异步memcpy和CUDA流,以重叠传输和计算。
https://stackoverflow.com/questions/9264933
复制相似问题