python - cuda 功能的自动内存管理
问题描述
我一直在尝试使用一些用于 python 的 cuda 库来进行线性代数运算。迄今为止最直接的一个似乎是cupy。
然而,我遇到的所有这些问题是,每当操作变得足够大以对 gpu 计算感兴趣时,我就会遇到内存错误。
Cupy 或类似的库中是否有某种方法可以自动进行内存管理?
解决方案
您可以尝试让 CuPy 在进入内存密集型区域之前回收所有未使用的 GPU 内存:
mempool = cupy.get_default_memory_pool()
mempool.free_all_blocks()
任何在调用之前引用计数为零的 CuPy 数组都将被释放,并将底层 GPU 内存返回到内存池。
推荐阅读
- javascript - 用 javascript 编写通过测试需要审查我的代码
- visual-studio-code - Code-OSS 不会从终端命令“code-oss”打开文件夹或文件。
- javascript - 客户端是否能够更改 onauthchanged firebase 实时数据库的用户对象?
- lua - 将对象添加到 Lua 上的数组
- javascript - 使文件上传器/预览处理多个文件
- javascript - 如何使用javascript通过邮件发送表格数据
- python - 为什么这里需要一个尾随逗号来传递 *args 参数中的列表?
- python - 如何在 python 3 终端中打印希伯来语短语?
- python-3.x - 系统未写入原始字典文件
- php - 平等比较PHP