>
우연히 호환되지 않는 nvml  라이브러리는 리눅스 환경에서 라이브러리 경로에 추가되었습니다. nvidia-smi 를 쿼리하려고 할 때 해당 설정에서 다음과 같은 오류가 발생합니다

Failed to initialize NVML: Driver/library version mismatch

그리고 호환되지 않는 라이브러리를 라이브러리 경로에서 제거하고 nvidia-smi 를 쿼리하면  다시 한 번 쿼리가 성공적으로 실행되고 출력이 예상대로 표시됩니다.

그렇지만 ldd 를 입력하여 종속 라이브러리를 살펴보면   nvidia-smi 를 위해  프로세스가 nvml 에 의존한다는 것을 나타내지 않습니다.  도서관.

$>ldd /usr/bin/nvidia-smi 
    linux-vdso.so.1 =>  (0x00007fffa84db000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f58ba044000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f58b9e3f000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f58b9a7e000)
    librt.so.1 => /lib64/librt.so.1 (0x00007f58b9876000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f58ba27d000)

그것이 nvml 에 의존하지 않는 경우  라이브러리, 호환되지 않는 nvml 가있을 때 왜 오류가 발생합니까?  도서관?

  • 답변 # 1

    ldd  응용 프로그램에동적으로연결된 라이브러리에 대한 응용 프로그램 종속성 목록을 제공합니다.

    아마도이 응용 프로그램은 (공유 된) 라이브러리의 런타임 로딩을 사용합니다 (예 : strace nvidia-smi 2>&1 |grep ml ). )

    런타임에 라이브러리를로드 할 때 애플리케이션을 라이브러리에 명시 적으로 링크 할 필요가 없으며 라이브러리는 ldd 에서 종속성으로 표시되지 않습니다.  출력 (애플리케이션 빌드시 명시 적으로 링크되지 않은 경우).

  • 이전 swift - jwtio에서 PKCS8 RSA256 알고리즘을 사용하여 인코딩 된 JWT (응용 프로그램이 아님)
  • 다음 python - 루프없이 n 개의 난수 세트 생성