GPUs有一个显示输出,输出到一个叫主表面的DRAM内存中,这个表面被用于刷新输出给用户看的显示设备。当用户通过改变显示器的分辨率或者位深(使用NVIDIA控制面版或者Windows显示器控制面版),开始一个显示器模式选择时,主表面需要的内存数量会改变。例如,如果以后改变显示器分辨率从1280x1024x32位到1600x1200x32位,系统必须增加7.68MB而不是5.24MB的内存给主表面(带反走样的全屏的图形应用可能要求更多的显示内存给主表面)。在Windows上,其它事件,包括加载一个全屏的DirectX应用、按下Alt+Tab组合键从全屏的DirectX应用切换出来或者按下Ctrl+Alt+Del锁定计算机。
如果模式转换增加主表面需要的内存数量,系统可能不得不调用分配给CUDA应用的内存。因此一个模式选择的后果是任何对CUDA运行时的调用将失败,返回一个无效的上下文错误。
CUDA C编程入门-编程接口(3.5)模式转换
时间: 2024-10-22 04:30:56