2014-02-26 2 views
0

하이브리드 그래픽 랩톱이 있고 Windows 7을 사용하고 있습니다. C++ 코드도 포함하고 있습니다. cuda, GPU가 시작될 때 nvidia GPU에 몇 초가 걸립니다. 그냥 다시 시작하고 다시 워밍업하는 데 몇 초가 걸릴 것이라고 생각합니다. 코드를 실행 한 직후에 GPU를 시작하는 방법이 있습니까 (예 : 주() 함수의 첫 번째 줄)?하이브리드 그래픽 CUDA 시작

고맙습니다. 퍼팅

+0

대부분 워밍업 문제는 GPU가 CPU와 컨텍스트를 설정해야하기 때문입니다. CUDA 컨텍스트 설정에 대한 추가 정보 - http://stackoverflow.com/questions/10415204/how-to-create-a-cuda-context – Divakar

+1

"워밍업"지연은 주로 CUDA dll을 메모리에로드하기 때문입니다. 로버트가 프로그램 시작 단계에서 큰 CUDA dll을 강제로로드하도록 프로그램 수명 초기에 cudaFree (0)를 호출하는 것이 좋습니다. – Paul

답변

1

보십시오 : 당신의 main 함수의 첫 번째 행으로

cudaSetDevice(0); 

. 또는 다음을 사용해보십시오.

cudaFree(0); 
3

나는 더 나은 옵션을 제안합니다. Windows를 사용하고 있으므로 NVIDIA GPU로 시작하는 프로그램을 강요 한 적이 있습니까? NVIDIA Optimus (그래픽 카드 전환을위한 물리적 스위치가없는 노트북)를 사용하는 경우 다음을 시도하십시오.

CUDA를 사용하는 프로그램을 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴에서 "Run with graphics processor" 옵션을 선택하고 "High-performance NVIDIA processor"을 선택하십시오. . Visual Studio를 사용하는 경우이 방법으로 Visual Studio를 시작할 수 있습니다. 이렇게하면 CUDA가 아닌 카드가 프로그램에 표시되지 않습니다 .-)

이 방법을 사용하지 않고 CUDA/OpenGL interop을 수행하려는 경우 경험 한 바에 따라 문제가 발생합니다. 때로 OpenGL 컨텍스트가 비 NVIDIA 카드 용으로 만들어지며 CUDA 컨텍스트가 NVIDIA 카드에 만들어져 기괴한 오류가 발생할 수 있습니다.

관련 문제