2011-05-16 2 views
2

이 오류는 무엇을 의미합니까? 그것에 관한 정보를 찾을 수없는 것 같습니다. 그것은 cudaEventRecord에서 발생합니다. 이 .c 파일에cuda 잘못된 리소스 핸들

cudaEvent_t cudaEventStart; 

: 프로젝트 헤더 파일에

내 하나의 .CU 파일에

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

는 :

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

관련 출력은 무엇을 보여줍니다 전화 문제가 있습니다. cudaEventStart 어떤 이유로 내 CU 파일에 유효한 이벤트 자원되지 않습니다 :

create event: 44199920 
record event: 0 

세부

  • CUDA 3.2
  • GTX 480
  • 64 비트 Win7에

저는 리눅스에서 창문으로 코드를 포팅하는 중입니다. 리눅스에서 똑같은 카드로 잘 돌아가며 몇가지 변화가있었습니다. 나는 roundf을 정의하고 다음과 같은 추가 : 이러한 것들 중 하나가 CUDA 자원에 영향을해야하는 이유

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 

그것은 나에게 명확하지입니다. 아마도 나는 어떻게 든 프로젝트를 잘못 만들고있다. ...?

+0

이 오류가 발생하는 이유는 무엇입니까? 우리에게 보여줄 수있는 코드가 있습니까? – Bart

+0

@ 바트 미안하지만, 커널 출시 때였다고 생각했지만, 그 전이었습니다. 아직도 그것을 추적합니다. 이 특정 프로그램을 작동시키는 데 관심이 있지만 질문은 코드없이 계속 나타납니다. 그렇습니까? 이 오류를 유발하는 것은 무엇입니까? – jmilloy

답변

3

잘못된 리소스 핸들은 일반적으로 만들어지지 않은 컨텍스트에서 무언가 (포인터, 심볼, 텍스처, 커널)를 사용하려고한다는 것을 의미합니다. 좀 더 구체적으로 대답하려면 더 구체적인 질문, 특히 사용중인 API와 코드의 어디에서든 호스트 스레드를 사용하는 방법/질문이 필요합니다.

+0

@talonmies 감사합니다. 몇 가지 코드 세부 정보를 추가했습니다. 여기에 암시 적으로 Windows에서 암묵적으로 사용되지 않는 한 코드에 호스트 스레드가 없습니다 - 비주얼 스튜디오에서이 Windows 환경에 정통하지는 않습니다. – jmilloy

+0

@jmilloy : 이벤트 작성과 관련하여 컨텍스트를 설정합니까? 그리고 기록해? – talonmies

+0

@talonmies 컨텍스트 설정이란 무엇입니까? 내 프로젝트에서 이벤트 생성 및 레코드가 발생하는 위치에 대한 세부 정보를 추가했습니다. 다른 정보가 도움이 될만한 정보가 있습니까? – jmilloy

관련 문제