cuda неверный дескриптор ресурса - PullRequest
3 голосов
/ 16 мая 2011

Что означает эта ошибка?Я не могу найти ЛЮБУЮ информацию об этом.Это происходит в cudaEventRecord.

в заголовочном файле проекта:

cudaEvent_t cudaEventStart;

в файле .c:

cudaEventCreate(&cudaEventStart);
printf("create event: %d\n", (int) cudaEventStart);

в моем одном файле .cu:

printf("record event: %d\n", (int) cudaEventStart);
cudaEventRecord(cudaEventStart);

соответствующий вывод показывает, в чем проблема с вызовом.cudaEventStart по какой-то причине не является допустимым ресурсом событий в моем файле cu:

create event: 44199920
record event: 0

Подробности

  • CUDA 3.2
  • GTX 480
  • 64-битная Win7

Я в процессе переноса своего кода из Linux в Windows.Он отлично работает на той же карте в Linux, и было сделано всего несколько изменений.Я определил roundf и добавил следующее:

typedef size_t off_t;
#define strtof(str,n) (float)strtod(str,n)
#include <float.h>
#define isnan(n) _isnan(n)
#define strcasecmp _stricmp
#include <io.h>
#define read _read

Мне не ясно, почему что-то из этого должно влиять на ресурсы cuda.Возможно, я неправильно строю проект ...?

1 Ответ

3 голосов
/ 16 мая 2011

Недопустимый дескриптор ресурса обычно означает попытку использовать что-либо (указатель, символ, текстуру, ядро) в контексте, где оно не было создано.Более конкретный ответ потребует более конкретного вопроса, в частности, какой API вы используете и как / если вы используете потоки хоста в любом месте кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...