Is/was 有cudaMalloc2DArray()这样的函数吗?
Is/was there such a function as cudaMalloc2DArray()?
在阅读“CUDA 手册:GPU 编程综合指南”一书时,我遇到了一个困惑:在table 部分“10.13.2" 有一个名为 cudaMalloc2DArray()
的函数为 CUDA 数组分配内存。这只是一个简单的错误还是在最近的 CUDA 版本中不可用的已弃用功能?
PS。我在 Nvidia 的相关 CUDA 参考文献中找不到 cudaMalloc2DArray()
。
编辑:我的问题不是关于如何分配二维数组。由于这是一本广为人知的书,并被全世界的初学者广泛使用(我也看过基于这本书的讲座和 PPT),所以我认为这是一个很好的地方,可以找出它是一个错误还是一个过时的功能。
如今,您可以将 cudaMalloc3DArray()
用于二维数组。 According to the docs:
cudaMalloc3DArray()
can allocate the following:
- [...]
- A 2D array is allocated if only the depth extent is zero.
- [...]
我不确定它是否是错字或之前存在的 2D 版本。
@AnderBiguri 描述了您应该 做什么。不过,作为历史参考 - 答案是 不,此函数没有 2D 版本 - 至少在 2.3 之后的任何 CUDA 版本中都没有。参见:
http://dirac.ruc.dk/manuals/cuda-2.3/CUDA_ReferenceManual_2.3.pdf
该网站有多个旧版本的 CUDA PDF 文档。
在阅读“CUDA 手册:GPU 编程综合指南”一书时,我遇到了一个困惑:在table 部分“10.13.2" 有一个名为 cudaMalloc2DArray()
的函数为 CUDA 数组分配内存。这只是一个简单的错误还是在最近的 CUDA 版本中不可用的已弃用功能?
PS。我在 Nvidia 的相关 CUDA 参考文献中找不到 cudaMalloc2DArray()
。
编辑:我的问题不是关于如何分配二维数组。由于这是一本广为人知的书,并被全世界的初学者广泛使用(我也看过基于这本书的讲座和 PPT),所以我认为这是一个很好的地方,可以找出它是一个错误还是一个过时的功能。
如今,您可以将 cudaMalloc3DArray()
用于二维数组。 According to the docs:
cudaMalloc3DArray()
can allocate the following:
- [...]
- A 2D array is allocated if only the depth extent is zero.
- [...]
我不确定它是否是错字或之前存在的 2D 版本。
@AnderBiguri 描述了您应该 做什么。不过,作为历史参考 - 答案是 不,此函数没有 2D 版本 - 至少在 2.3 之后的任何 CUDA 版本中都没有。参见:
http://dirac.ruc.dk/manuals/cuda-2.3/CUDA_ReferenceManual_2.3.pdf
该网站有多个旧版本的 CUDA PDF 文档。