【问题标题】:Is/was there such a function as cudaMalloc2DArray()?是否/是否有 cudaMalloc2DArray() 之类的函数?
【发布时间】:2019-02-25 14:52:37
【问题描述】:

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

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

编辑:我的问题不是关于如何分配二维数组。由于它是一本众所周知的书,并且被世界各地的初学者广泛使用(我也看过基于这本书的讲座和 PPT),我认为这是一个很好的地方来找出它是一个错误还是一个过时的功能。

【问题讨论】:

  • 我发现这本书的作者“ArchaeaSoftware (Nicholas Wilt)”就在这里。 @ArchaeaSoftware .

标签: cuda textures


【解决方案1】:

@AnderBiguri 描述了您应该做什么。不过,作为历史参考 - 答案是 不,没有这个函数的 2D 版本 - 至少在 2.3 之后的任何 CUDA 版本中都没有。见:

http://dirac.ruc.dk/manuals/cuda-2.3/CUDA_ReferenceManual_2.3.pdf

该网站有多个旧版本的 PDF 格式的 CUDA 文档。

【讨论】:

    【解决方案2】:

    现在,您可以将cudaMalloc3DArray() 用于二维数组。 According to the docs:

    cudaMalloc3DArray()可以分配如下:

    • [...]
    • 如果深度范围为零,则分配一个二维数组。
    • [...]

    我不确定是错字还是之前存在的 2D 版本。

    【讨论】:

      猜你喜欢
      • 2011-08-20
      • 1970-01-01
      • 2014-08-28
      • 2019-10-21
      • 1970-01-01
      • 2019-07-03
      • 1970-01-01
      • 2013-05-03
      • 2011-08-01
      相关资源
      最近更新 更多