在阅读《 CUDA手册:GPU编程综合指南》 时,我遇到了一个困惑:在“ 10.13.2 ”部分的表格中有一个名为cudaMalloc2DArray()
的函数可以为CUDA数组分配内存。仅仅是简单的错误还是过时的功能而在最新的CUDA版本中不可用?
PS 。我在Nvidia的相关CUDA参考上找不到cudaMalloc2DArray()
。
EDIT :我的问题不是关于如何分配2D数组。由于这是一本众所周知的书,已被世界各地的初学者广泛使用(我也看过基于这本书的演讲和PPT),所以我认为这是一个找出错误还是仅是过时功能的好地方。
答案 0 :(得分:2)
@AnderBiguri描述了您应该要做的事情。不过,作为历史参考-答案是否,此功能没有2D版本-至少从2.3开始没有在任何CUDA版本中使用。参见:
http://dirac.ruc.dk/manuals/cuda-2.3/CUDA_ReferenceManual_2.3.pdf
该站点具有多个较旧版本的CUDA PDF文档。
答案 1 :(得分:1)
如今,您可以将cudaMalloc3DArray()
用于2D阵列。 According to the docs:
cudaMalloc3DArray()
可以分配以下内容:
- [...]
- 如果仅深度范围为零,则分配2D数组。
- [...]
我不确定以前是否有错字或2D版本。