Что делать с CU_MEMHOSTALLOC_DEVICEMAP и CU_CTX_MAP_HOST?

Документация для cuCtxCreate() говорит, что один из требуемых флагов:

CU_CTX_MAP_HOST: Проинструктируйте CUDA о поддержке сопоставленных закрепленных выделений. Этот флаг должен быть установлен, чтобы выделить закрепленную память хоста, доступную для графического процессора.

Однако в документации для этого определенного значения говорится:

CU_CTX_MAP_HOST = 0x08

Устарело

Этот флаг устарел в CUDA 11.0 и больше не действует. Все контексты, начиная с CUDA 3.2, ведут себя так, как если бы флаг был включен.

Кажется, что эти две части документации противоречат друг другу.

Кроме того, в документации говорится :

  • : Отображает выделение в адресное пространство CUDA.

...

В CU_MEMHOSTALLOC_DEVICEMAP Флаг может быть указан в контекстах CUDA для устройств, которые не поддерживают отображаемую закрепленную память.

и это практически внутреннее противоречие.

Итак, я в замешательстве. При каких обстоятельствах и какие версии инструментов и драйверов CUDA выделяют закрепленную память хоста с помощью cuMemHostAlloc() получить «отображение в адресное пространство CUDA», чтобы обеспечить доступ к графическому процессору?

0 ответов

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