【发布时间】:2012-09-16 23:41:00
【问题描述】:
我在某处读到 CUDA 中的固定内存是稀缺资源。固定内存的上限是多少?在 windows 中,在 linux 中?
【问题讨论】:
-
固定内存是保证在主内存上分配的内存,除非没有足够的空间。主机上的 RAM 越多,可以分配的固定内存就越多。你不能有一个确切的数字。
-
我认为这不正确..假设我有 4GB 内存,如果我使用
cudaHostAllloc()分配 3.5GB 内存,那么我们还剩下大约 500MB,那么操作系统可能无法管理500MB以内吧?这种分配必须有一些上限。 -
我在想这个,是的。操作系统无法通过单个请求成功分配如此巨大的固定内存。但是,此限制可能会随着您拥有的内存量而变化,尽管我无法确认这一点。但是,我确实知道一次可以分配的最大全局内存量会随着您拥有的全局内存量而扩展。我认为分配主机内存的工作方式相同。