Скопировать 1D-массив в память CUDA — указатель на память

Q1: Можно ли получить указатель на память устройства из cuda.lvlib:Copy 1D Array to CUDA Memory (SGL).vi? Я хотел бы передать этот указатель своей DLL.

Q2: DLL должна возвращать указатель на память устройства, где хранятся результаты. Можно ли использовать cuda.lvlib:Copy CUDA Memory to 1D Array (SGL).vi для копирования результатов обратно на хост?

Спасибо.


person user1281071    schedule 18.04.2012    source источник
comment
какая память устройства? память в устройстве CUDA?   -  person CharlesB    schedule 18.04.2012
comment
с памятью устройства я имею в виду память устройства CUDA (память графического процессора)   -  person user1281071    schedule 18.04.2012


Ответы (1)


Одномерные массивы обычно существуют за пределами линейного адресного пространства, которое CUDA использует для выделения памяти устройства, поэтому нет, не должно быть возможности запросить указатель одномерного массива CUDA.

Все версии CUDA могли читать/записывать содержимое массивов 1D CUDA с помощью команд memcpy на хосте, а ядра могли читать их с помощью текстурирования; с оборудованием класса Fermi в последних версиях CUDA ядра также могут читать/записывать содержимое одномерных массивов CUDA с помощью ссылок на поверхности и встроенных функций загрузки/сохранения одномерных поверхностей.

person ArchaeaSoftware    schedule 19.04.2012