2012-10-20 5 views
1

우분투 12.10에 cuda 5를 설치했는데 제대로 작동하고 있습니다. 터미널에서도 cuda-gdb를 통해 컴파일하고 디버깅 할 수 있습니다. 나는 컴파일하고 문제없이 내 코드를 실행, nsight를 사용하려고 해요,하지만 난 디버깅하려고 할 때 다음과 같은 오류cuda-gdb가 리눅스에서 nsight로 작동하지 않습니다.

Error in final launch sequence 
Failed to execute MI command: 
-gdb-set cuda api_failures ignore 
Error message from debugger back end: 
Undefined set cuda command: "api_failures ignore". Try "help set cuda". 
Undefined set cuda command: "api_failures ignore". Try "help set cuda". 

내가 CUDA 실행 및 nsight을 우분투를 12.10 64 비트를 사용하고 시작 해요있어 내가 GTX 675M (optimus)을 가지고 있기 때문에 optirun (bumblebee)와 함께.

[email protected]:~/Dropbox/coisas/projetos/delta_cuda$ cuda-gdb --version 
NVIDIA (R) CUDA Debugger 
4.2 release 
Portions Copyright (C) 2007-2012 NVIDIA Corporation 
GNU gdb (GDB) 7.2 

나는 이것이 내가 (nsight없이) 단독으로 사용할 수 있기 때문에 문제가되지 않는다 생각 : 나는 버전 4.2을 가지고, CUDA-gdb를 축복하는이 apt-get을 설치했습니다. 나는 nsight를 optirun으로 cuda-gdb를 시작하도록 변경했으며, 같은 오류가 계속 발생했습니다.

답변

3

문제는 cuda-gdb 버전이었습니다. 나는 cuda-gdb 버전 5를 사용해야했습니다. 툴킷 버전 5와 함께,/usr/bin에 상징적 인 핥기가되어 작동합니다.

+0

Nsight가 CUDA 5.0에서만 도입 된 최신 cuda-gdb 명령 중 하나를 실행하려고했기 때문에이 메시지가 나타납니다. – Eugene

+0

솔루션은 작동하지만 관리자가 아닌 다중 사용자 시스템에서는 설치하기가 어렵습니다. 대부분의 경우, 시스템 관리자는/usr/bin에'/ opt'에 대한 링크를 추가하는 것을 꺼릴 것입니다 ... – jopasserat

1

이 링크를 만들 필요가 없습니다.

실행/디버그 구성 ... 메뉴에서 nsight가 사용하는 실행 파일 cuda-gdb을 선택할 수 있습니다. 이 메뉴에서 C/C++ Application 아래의 응용 프로그램을 클릭 한 다음 디버거 탭을 선택합니다. 여기서 파일 시스템을 탐색하고 cuda-gdb-5.0 실행 파일의 경로를 설정할 수 있습니다.

+0

그게 효과가 있습니다. 그러나 나를 위해 모든 사용자에게 이것을 설정하면 관리자에게 상황을 설명하는 것보다 더 큰 문제가됩니다. –

+0

다시 동의하지 않습니다. 왜냐하면 모든 사용자가 cuda-gdb-5.0을 사용한다면 기본 위치에 설치하거나 사용자의 'PATH'를 위치에 따라 업데이트해야하기 때문입니다. 여전히'cuda-gdb'를 즐기십시오 :) – jopasserat

2

그것은 이 nsight와 CUDA 프로그램을 디버깅 및를 땅벌하는 것입니다. (nsight v.5.0.0, 3.2.1 땅벌, 데비안 SID)

당신은 그냥 디버거 명령 행 ( CUDA GDB 실행) 교체해야

: 프로젝트 탐색기를 - 프로젝트를 마우스 오른쪽 클릭> -> "로 디버그"를 선택 -> 클릭 "디버그 구성 ..."-> "디버거"탭

CUDA GDB 실행을 선택 optirun --no-xorg cuda-gdb는 (또 다른 가능성은 같은 작은 쉘 스크립트를 확인하는 것입니다 다음 : /usr/bin/opti-cuda-gdb)

#!/bin/bash 
optirun --no-xorg /usr/bin/cuda-gdb $* 

이렇게하면 optirun이 gdb의 가상 화면을 시작하지 않고 GPU가 그래픽을 허용하지 않고 디버그가 가능합니다.

희망 하시겠습니까?