CUDA новое удаление
Может ли кто-нибудь дать четкое объяснение того, как будут выглядеть новые и удаляемые ключевые слова, если они вызваны из кода __device__
или __global__
в CUDA 4.2?
Где распределяется память, если ее на устройстве она локальная или глобальная?
Это условия контекста проблемы, которую я пытаюсь создать нейронные сети на графическом процессоре, я хочу связанное представление (как связанный список, но каждый нейрон хранит связанный список соединений, которые содержат веса, и указатели на другие нейроны), я знаю, что я мог бы выделить с помощью cudaMalloc
до запуска ядра, но я хочу, чтобы ядро контролировало, как и когда создаются сети.
Спасибо!
Ответы
Ответ 1
С++ new
и delete
работают с памятью кучи устройства. Устройство позволяет выделять часть глобальной (то есть бортовой) памяти таким образом. new
и delete
работают аналогично устройство malloc
и free
.
Вы можете настроить объем глобальной памяти устройства, доступный для кучи, с помощью вызова API времени выполнения.
Вы также можете быть заинтересованы в С++ новом/удалить пример кода.
Для этих возможностей требуется CC 2.0 или более.