Мне нужно динамически выполнить cudaMalloc, чтобы выделить память для динамически расширяющегося массива, размер которого может варьироваться в широком диапазоне. Этот массив представляет результат операции соединения над двумя таблицами, поэтому он может быть нулевым или приближаться к максимальному количеству данных (в случае, если таблицы содержат полностью похожие данные).Как сделать cudaMalloc динамически
Если я выделить память из-за ожидания, что данные таблиц, почти похоже, что я могу получить огромное количество памяти, которая не используется на всех
Итак, есть ли какой-нибудь способ, чтобы выполнить выделение памяти динамически с помощью CUDA для эффективного использования памяти?
Не понимаю вопроса. cudaMalloc * - динамическое распределение памяти во время выполнения. Вы спрашиваете о распределении памяти внутри запущенного ядра или что-то еще? – talonmies
Вы как-то ожидаете, что cudaMalloc автоматически зарезервирует дополнительный бит памяти для вашего массива, если вам нужно его расширить? – Bart
Я имею в виду, что массив сначала выделяется с минимальным размером перед запуском ядра, но он может быть расширен (дополнительное выделение памяти), пока ядро работает – dmdkv