// ----- Before any variable initialization -----
size_t free;
size_t total;
CUresult result=cuMemGetInfo(&free,&total);
내 무료 총 메모리를 알고 싶습니다
:
Free memory : 4095 MB
Total memory : 4095 MB
을
저는 64 비트 Windows 7에서 6GB의 메모리를 갖춘 Tesla C2070을 개발하고 있습니다. 그러나 32 비트 응용 프로그램이 실행 중입니다.
Free memory : 5376 MB
Total memory : 5376 MB // values given by the deviceQuery.exe example of CUDA
내가 4095 * 1024 * 1024 = 4,293,918,720 약 2^32 (반올림 후)입니다 : 내 코드는 나에게 뭔가를 제공해야합니다. 실제로 size_t는 부호없는 int (4 바이트)의 포인터입니다.
여기 내 질문이 있습니다. 예를 들어 부호없는 long을 가리 키기 위해 size_t의 정의를 변경할 수 있습니까? 32 개 비트 타겟에 대해 컴파일 때
감사
64 비트 용으로 컴파일하도록 호스트 코드를 설정하면 64 비트'size_t'를 얻어야합니다. –
오, Qt, CUDA 및 Visual Studio 간의 호환성 때문에 64 비트 응용 프로그램을 실행할 수 없음을 기억합니다. 그 문제를 해결할 방법이 있습니까? –
@ 박영배 당신이 대답하는 줄을 따라 답을주고 싶다면 @ 박영배. 64 비트로 응용 프로그램을 컴파일하는 것은 4GB 경계를 넘어 GPU 메모리에 액세스하는 * 유일한 방법입니다. –