2013-10-23 1 views
2

GUI없이 cuda-gdb를 사용하여 Linux에서 CUDA를 디버깅 할 수 있다는 것을 알고 있습니다.하지만 그렇게 편리하지는 않습니다. 또한 X 서버가 다른 GPU에서 실행되고 있으면 Nsight Eclipse 판으로 CUDA를 디버깅 할 수 있다는 것도 알고 있습니다. 그래서 듀얼 GPU 랩톱 (geforce 525m 및 Intel 3000)을 가지고 있고 내 CUDA 코드가 내 nvidia 카드에서 실행되는 동안 Intel 서버에서 X 서버를 실행할 수 있는지 궁금합니다.필자는 Optimus 노트북의 인텔 통합 그래픽에서 X11을 실행하고 NVIDIA GPU에서 CUDA 코드를 디버깅 할 수 있습니까?

+0

Windows에서 문제가되지 않습니다. 단일 GPU 디버깅이 해당 플랫폼에서 지원됩니다 ... GUI 디버깅을 제공 할 Ubuntu에서 가능한 해결 방법을 찾고 있습니다. –

+0

예를 들어 데스크톱 시스템에 별도의 NVIDIA GPU (및 인텔 통합 그래픽)가 있으면 간단하고 적절한'xorg.conf' 파일이 필요합니다. 노트북에서는 가능하지만 시스템 BIOS가 GPU 하드웨어를 관리하는 방법에 따라 다릅니다. 필자의 랩탑에 대한 설정 세부 사항은 StackOverflow의 주제와 관련이 없다. –

+0

내 랩탑 전용 구성이 아닙니다. 많은 랩탑에는 Intel 디스크리트 카드와 함께 NVIDIA GPU가 있습니다.내 랩톱에 대해 xorg.conf를 설정하는 방법을 알고 있다면 다른 랩톱에도 적용될 가능성이 큽니다. –

답변

0

댓글을 게시 할 수 없어 답변을 드리고 있습니다.

잘 모르겠지만 데비안에서는 문제가되지 않습니다. 2 개월 전 Ubuntu (CUDA 5.0) 대신 데비안을 사용하고 X 서버를 사용할 수 있었고 cuda-gdb를 사용할 수있었습니다 (커널 기능을 디버깅 할 수 있는지는 잘 모르겠지만).

CUDA 5.5를 사용하여 Ubuntu로 변경했을 때 커널 기능을 디버깅하려면 텍스트 모드에서 Ubuntu를 시작해야합니다.

그래서 시도해 볼 수 있으면 데비안을 사용해 보시기 바랍니다. :)

+0

하나 이상의 GPU가 있었습니까? 명령 줄 cuda-gdb를 사용하여 디버깅을 했습니까? 또는 Nsight Eclipse 디버거를 사용 했습니까? –

+0

@OgnjenKocic, 하나의 GPU 만 있습니다 (GTX 480). 디버깅하려면 cuda-gdb를 사용합니다. 그러나 프로파일 러 Nvidia Visual Profiler를 실행하고 동일한 세션에서 (cuda-gdb를 통해) 프로그램을 디버깅 할 수있었습니다. – Blufter

+0

네, 성능 향상을 위해 CUDA 코드를 프로파일 링 할 수 있지만 계산 능력이 3.5 이하인 단일 GPU로 Nsight Eclipse GUI 디버거를 사용할 수는 없습니다 (GPU가 거의 없음). http://stackoverflow.com/questions/13662491/how-to-debug-cuda-using-eclipse-nsight-with-only-one-gpu에서 이미 답변되었습니다 ... –

2

랩톱에서이 기능을 사용하려면 먼저 xorg.conf 파일이 Intel 통합 GPU 만 참조하는지 확인해야합니다.

그런 다음 Linux에서 실행 중일 때 노트북이 Intel 통합 GPU와 NVIDIA GPU를 모두 켜고 있는지 확인해야합니다. 이 테스트를 위해 나는 lspci을 실행하여 시작할 것입니다.이 명령에 인텔 그래픽과 NVIDIA GPU가 모두 표시되면 그 시점에서 CUDA 툴킷을 설치해보십시오. xorg.conf 파일을 업데이트 할 것인지 묻는 메시지가 나타나면 "아니오"라고 대답하십시오.

그 후에는 효과가있을 수 있습니다. 그래도 작동하지 않으면 SBIOS 시스템 구성 옵션을 검사하여 NVIDIA GPU와 Intel 그래픽을 모두 강제 적용 할 수있는 방법이 있는지 확인하고 싶을 것입니다.

인텔 그래픽에서 호스트되는 디스플레이를 가져올 수 있고 CUDA 툴킷이로드되어 작동하는 경우 해당 NVIDIA GPU에서 디버깅하는 데 문제가 없어야합니다.

+0

모든 제안을 해주셔서 감사합니다. 한 가지 더 있습니다. CUDA 응용 프로그램을 시작하려면 optirun 명령으로 시작해야합니다. 따라서 최신 범블 비 (3.2.1)에는 optirun이 다른 X 서버를 시작하지 않도록하는 --no-xorg 옵션이 있습니다. 이 옵션은 내 다음 이동이 될 것입니다. 나는 쿠분투 13.10으로 옮겼습니다. 나는 그것을 작동 시키려고 노력할 것입니다. –

0

제 생각에는이 솔루션은 좋지 않지만 노트북 ASUS B400V의 우분투 16.04에서 작동합니다.

  1. Intel 그래픽 카드 (Nvidia XServer 설정 또는 sudo prime-select intel, 로그 아웃하고 로그인해야 함)를 사용하여 XServer를 시작하십시오.
  2. 실행 명령 sudo prime-select nvidia 및 로그 아웃 없음. sudo tee /proc/acpi/bbswitch <<< ON

  • 실행 명령은이 단계를 수행 한 후 내 CUDA 프로그램을 디버그 할 수 있습니다. 재부팅 또는 로그 아웃하기 전에 sudo prime-select intel 명령을 실행해야합니다.

  • 관련 문제