2
cudaMemcpyToSymbol
함수를 호출 할 때 잘못된 값 오류 (cudaErrorInvalidValue
)가 표시됩니다. 오류가 발생한 코드는 다음과 같습니다. 나는이 오류가 무엇입니까 왜 cudaMemcpyToSymbol을 호출 할 때 cudaErrorInvalidValue 오류가 발생했습니다.
__constant__ int c_queryLength; //Length of query sequence in chunks of 4
...............
if((cuda_err = cudaMemcpyToSymbol(c_queryLength,&queryLengthInChunks,
sizeof(queryLengthInChunks),0, cudaMemcpyHostToDevice))!=cudaSuccess)
{
// Check which error occured;
...............
}
여기 유형
size_t
이다
queryLengthInChunks
의 값은 36이다. 그 이유는 무엇입니까?
당신은'size_t' 시스템에 CUDA'int' 같은 크기인지 확인 즉 4 바이트 있습니까? –
size_t는 64 비트 Windows 시스템을 사용하고 있으므로 내 시스템에서는 8 바이트입니다. 이 경우 어떤 문제가 있습니까? – MetallicPriest
물론, CUDA int는 4 바이트입니다. 8 바이트 변수를 4 바이트 상수로 복사 할 수 없습니다. –