쿠다 6.0/PyCuda. '가져오기 오류'

쿠다 6.0/PyCuda. '가져오기 오류'

pycuda가 훌륭하게 작동하는 Cuda 5.5를 사용했지만 CUDA 6.0으로 업그레이드해야 했습니다.

이제 샘플 PyCuda 프로그램을 실행하려고 하면 다음과 같은 결과가 나타납니다.

ImportError: libcurand.so.6.0: cannot open shared object file: No such file or directory

해당 파일의 경로를 찾았습니다. 어떻게든 이 라이브러리를 연결해야 합니까? 그렇다면 어떻게? 그리고 어디로?

답변1

이는 LD_LIBRARY_PATH 변수에 lib 경로가 없기 때문에 발생합니다.

이 경로를 LD_LIBRARY_PATH 변수에 추가하려면 다음을 ~/.bashrc사용하여 파일을 엽니다.

gedit ~/.bashrc

그리고 다음 줄을 추가하세요. 을 <path_to_your_lib>파일 경로로 바꿉니다.

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<path_to_your_lib>

답변2

해결책:환경 변수 에 CUDA 라이브러리 경로를 추가해야 합니다 $LD_LIBRARY_PATH.

설명:

CUDA 프로그램이 실행되면 CUDA 런타임 라이브러리에 동적으로 연결되어야 합니다. 기본적으로 이러한 라이브러리는 디렉터리에 있습니다 /usr/local/cuda/lib. 이러한 라이브러리를 검색할 때 운영 체제는 $LD_LIBRARY_PATH환경 변수에 지정된 디렉터리를 찾습니다. 여기에 CUDA 라이브러리 디렉터리가 지정되지 않으면 위에 표시된 오류와 함께 프로그램이 실패합니다.

두 가지 해결 방법이 있습니다(기본 CS 부서 쉘인 bash 쉘을 사용한다고 가정).

  1. 다음 명령을 실행하십시오.

     export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib
    

    이 변경 사항은 영구적이지 않으며 로그인할 때마다 다시 실행해야 합니다.

  2. 파일을 편집합니다 .profile( 위치 ~/.profile). 변수 를 설정하는 줄을 찾으세요 $LD_LIBRARY_PATH. 다음과 비슷해야 합니다.

     LD_LIBRARY_PATH="/usr/lib:/usr/openwin/lib:/usr/dt/lib:/X11.6/lib:/X11.5/lib:/uva/lib:/gnu/lib"
    

    CUDA 라이브러리에 경로를 추가하려면 해당 줄을 수정하세요.

     LD_LIBRARY_PATH="/usr/lib:/usr/openwin/lib:/usr/dt/lib:/X11.6/lib:/X11.5/lib:/uva/lib:/gnu/lib:/usr/local/cuda/lib"
    

    파일을 편집한 후 로그아웃했다가 다시 로그인하거나 다음 명령을 실행해야 합니다.

     source ~/.profile
    

이 해결 방법은 영구적이므로 한 번만 수행하면 됩니다.

원천

관련 정보