Нужно ли предоставлять контекст Gpu при создании единой памяти?
Вопрос 1)
Когда я вызываю API драйвера CUDA, обычно мне нужно сначала передать контекст (который представляет время выполнения графического процессора) в текущий поток. Для нормальных cuMalloc
, память будет выделена на том GPU, указанном контекстом. Но если я попытаюсь позвонить cuMallocManaged
чтобы создать объединенную память, мне все еще нужно выдвинуть контекст GPU?
Вопрос 2)
Скажем, у меня есть 2 графических процессора, каждый имеет 1 ГБ DRAM. Так можно ли выделить объединенную память в 2 ГБ? с каждым графическим процессором держит половину?
1 ответ
Следуйте установленным методам программирования API драйвера. Явно установить контекст CUDA.
Нет, это не то, как работает управляемая память. Управляемое распределение полностью видно для всех графических процессоров в системе. Это верно, говорим ли мы о режиме U-режима на Паскале или режиме U-режима на Паскале, хотя конкретный метод видимости различается. Обратитесь к разделам руководства по программированию в UM с несколькими графическими процессорами.