是否有cudaMalloc2DArray()这样的功能?

时间:2019-02-22 08:11:37

标签: cuda textures

在阅读《 CUDA手册:GPU编程综合指南》 时,我遇到了一个困惑:在“ 10.13.2 ”部分的表格中有一个名为cudaMalloc2DArray()的函数可以为CUDA数组分配内存。仅仅是简单的错误还是过时的功能而在最新的CUDA版本中不可用?

PS 。我在Nvidia的相关CUDA参考上找不到cudaMalloc2DArray()

EDIT :我的问题不是关于如何分配2D数组。由于这是一本众所周知的书,已被世界各地的初学者广泛使用(我也看过基于这本书的演讲和PPT),所以我认为这是一个找出错误还是仅是过时功能的好地方。

2 个答案:

答案 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版本。