Есть ли что-то противоположное cudaHostGetDevicePointer ()?

Предположим, что мое устройство Kepler и выше, CUDA 6,5 или выше, а мой драйвер с 2015 года.

Можно ли сделать противоположность cudaHostGetDevicePointer()? то есть, при условии адресации проявления на стороне устройства некоторой отображенной памяти, получить адрес хоста?

1

Решение

Если вы работаете на платформе с поддержкой единой адресации, вы можете позвонить cudaPointerGetAttributes по любому указателю, который зарегистрирован или размещен в едином адресном пространстве. Функция возвращает структуру

  struct cudaPointerAttributes {
enum cudaMemoryType memoryType;
int device;
void *devicePointer;
void *hostPointer;
int isManaged;
}

который сообщит вам адреса устройства и хоста памяти, а также то, на каком устройстве он физически находится или в каком контексте устройства он был первоначально зарегистрирован (для памяти хоста)

Если у вас нет доступа к унифицированной адресации, я не верю, что есть способ добиться этого.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]