2012-05-01 2 views
3

클러스터에서 MPI 및 CUDA 코드를 실행하려고합니다. 코드는 한 컴퓨터에서 잘 작동하지만 클러스터에서 그것을 실행하려고 할 때 오류가 발생합니다 :공유 라이브러리를로드하는 중 오류가 발생했습니다. libcudart.so.4 : 공유 객체 파일을 열 수 없습니다. 해당 파일 또는 디렉토리가 없습니다.

오류를로드 공유 라이브러리 동안 : libcudart.so.4 : 공유 객체 파일을 열 수 없습니다 : 그런 파일이나 디렉토리

PATH 및 LD_PATH를 확인했는데 문제가없는 것 같습니다.

export PATH = $ PATH :/usr/local/lib/:/usr/local/lib/openmpi :/usr/local/cuda/bin export LD_LIBRARY_PATH = 다음 항목을 포함하는 .bashrc 파일이 있습니다. $ LD_LIBRARY_PATH :/usr/local/lib :/usr/local/lib/openmpi/:/usr/local/cuda/lib

모든 기계는 CUDA와 OpenMPI의 설치가 동일합니다.

는 또한

이 사람이 나를 도와 줄 수 /etc/ld.so.conf에

에서/usr/지방/CUDA/lib에 있습니다. 이 문제는 실제로 성가신 일입니다.

감사합니다. 클러스터에 배치 작업을 전송하는 경우

+0

클러스터 초기화에는 무엇을 사용하고 있습니까? – rudolph9

답변

5

, 일괄 스크립트에

echo $LD_LIBRARY_PATH 
ldd ./your_app 

같은 명령을 추가하십시오. 이 문제를 디버그하는 데 도움이됩니다.

또한 mpirun에서 환경 변수를 내 보내야합니다. 예를 들어, OpenMPI에서 코드를 실행하려면

mpirun -x LD_LIBRARY_PATH ... 
+0

mpirun -x LD_LIBRARY_PATH가 내 문제를 해결합니다. 고마워. 너는 내 하루를 보냈다. – Coder

관련 문제