CUDA 코드가있는 파이썬 스크립트를 실행하기 위해 GPU가 2 개인 원격 기계를 사용하고 있습니다. 코드의 성능을 향상시킬 수있는 곳을 찾으려면 nvprof
을 사용하려고합니다.nvprof는 파이썬 스크립트를 프로파일 링 할 때 사용 가능한 모든 GPU를 사용합니다.
nvprof --profile-child-processes ./myscript.py
을 호출 할 때 각 GPU에서 동일한 ID를 가진 프로세스가 시작되지만 원격 시스템에서 2 GPU 중 하나만 사용하려는 코드를 설정했습니다.
nvprof
에 프로파일 링을 위해 하나의 GPU만을 사용하려면 어떤 인수가 있습니까?
'nvprof' 액세스를 제한하기 위해 환경 변수'CUDA_VISIBLE_DEVICES = "0"'을 사용하십시오. 예를 들어'CUDA_VISIBLE_DEVICES = "0"nvprof --profile-child-processes./myscript.py'는 nvprof를 첫번째 GPU로 제한하고,'CUDA_VISIBLE_DEVICES = "1"nvprof --profile-child-processes ./myscript.py '2 차 GPU 등으로 제한 될 것입니다. env var는 문서화되어 있습니다 [here] (http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#env-vars). 'nvprof --help'는 특정 활동을 특정 GPU로 제한 할 수있는'--devices' 스위치가 있음을 보여줍니다. –