Нужно ли предоставлять контекст Gpu при создании единой памяти?

Вопрос 1)

Когда я вызываю API драйвера CUDA, обычно мне нужно сначала передать контекст (который представляет время выполнения графического процессора) в текущий поток. Для нормальных cuMalloc, память будет выделена на том GPU, указанном контекстом. Но если я попытаюсь позвонить cuMallocManaged чтобы создать объединенную память, мне все еще нужно выдвинуть контекст GPU?

Вопрос 2)

Скажем, у меня есть 2 графических процессора, каждый имеет 1 ГБ DRAM. Так можно ли выделить объединенную память в 2 ГБ? с каждым графическим процессором держит половину?

1 ответ

  1. Следуйте установленным методам программирования API драйвера. Явно установить контекст CUDA.

  2. Нет, это не то, как работает управляемая память. Управляемое распределение полностью видно для всех графических процессоров в системе. Это верно, говорим ли мы о режиме U-режима на Паскале или режиме U-режима на Паскале, хотя конкретный метод видимости различается. Обратитесь к разделам руководства по программированию в UM с несколькими графическими процессорами.

Другие вопросы по тегам