Есть ли такая функция, как cudaMalloc2DArray ()? - PullRequest
0 голосов
/ 22 февраля 2019

Читая книгу " Справочник CUDA: всеобъемлющее руководство по программированию на GPU ", я столкнулся с путаницей: в таблице раздела " 10.13.2 " естьфункция с именем cudaMalloc2DArray() для выделения памяти для массива CUDA.Это простая ошибка или устаревшая функция, недоступная в последних версиях CUDA?

PS .Я не могу найти cudaMalloc2DArray() в ссылках NUDIA, связанных с CUDA.

EDIT : Мой вопрос не о том, как выделить 2D Array.Поскольку это хорошо известная книга, широко используемая новичками по всему миру (я также видел лекции и PPT на основе этой книги), я подумал, что это хорошее место, чтобы выяснить, является ли это ошибкой или просто устаревшей функцией.

Ответы [ 2 ]

0 голосов
/ 23 февраля 2019

@ AnderBiguri описал, что вы должны сделать.Для исторической справки, хотя - ответ Нет, 2D-версия этой функции не была - по крайней мере, ни в одной версии CUDA начиная с 2.3.См .:

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

На этом сайте имеется документация CUDA в формате PDF для нескольких более старых версий.

0 голосов
/ 22 февраля 2019

В настоящее время вы можете использовать cudaMalloc3DArray() для 2D-массивов. Согласно документам :

cudaMalloc3DArray() можно выделить следующее:

  • [...]
  • A 2Dмассив выделяется, если только экстент глубины равен нулю.
  • [...]

Я не уверен, существовала ли ранее опечатка или версия 2D.

...