我在使用CUDA脚本后遇到了显卡保留内存的问题(即使使用了cudaFree()函数)。开机时总已用内存约为128MB,但脚本执行后会在中途用完内存。请注意,有一部分内容需要翻译成专有名词“nvidia-smi”。
+------------------------------------------------------+
| NVIDIA-SMI 340.29 Driver Version: 340.29 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 660 Ti Off | 0000:01:00.0 N/A | N/A |
| 10% 43C P0 N/A / N/A | 2031MiB / 2047MiB | N/A Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Compute processes: GPU Memory |
| GPU PID Process name Usage |
|=============================================================================|
| 0 Not Supported |
+-----------------------------------------------------------------------------+
有没有办法在不重启的情况下释放这些内存,也许可以通过终端命令实现?
如果我在CUDA脚本中没有正确管理内存,这种行为是否正常,或者当脚本停止/退出时,这些内存是否应该自动释放?