swsnu / bd2018

25 stars 10 forks source link

parallax 실행 error 문의 #26

Open jhshim0326 opened 5 years ago

jhshim0326 commented 5 years ago

안녕하세요.

현재 CPU만 사용하는 환경에서 테스트를 하고 있는데요

horovod와 tensorflow 동작은 모두 확인했는데 parallax 실행 시

image

다음과 같은 에러가 발생하면서 수행이 되지 않습니다.

조교님 예제 코드도 마찬가지의 에러가 발생하는거보니 뭔가 환경 세팅의 문제인가해서 문의드립니다.

sj6077 commented 5 years ago

resource info에는 hostname:GPU devices 형태로 적어주셔야 합니다. 지금 사용하신 코드는 localhost의 GPU 1번을 상요하겠다는 의미와 같습니다. CPU만 사용하신다면 그냥 localhost로 적어주셔야합니다.

jhshim0326 commented 5 years ago

resource info file에는 localhost localhost 만 적혀있는 상태입니다.

sj6077 commented 5 years ago

ssh localhost하면 잘 되나요?

jhshim0326 commented 5 years ago

네 그건 잘 수행되네요.

sj6077 commented 5 years ago

혹시 openmpi version같은것이 문제는 아닐까요? 버전 parallax repo에 있는 버전과 동일한가요?

jhshim0326 commented 5 years ago

openmpi version은 3.0.0으로 parallax documentaion에 써있는 버전과 동일한 버전을 사용하고 있습니다.

sj6077 commented 5 years ago

환경 셋팅의 문제일 것 같긴한데요.mpirun -bind-to none -np 2 -H localhost:1,localhost:1 python test.py 이런식으로 임의의 test 파일을 실행해도 아마 같은 에러가 날 것 같은데 맞을까요?

jhshim0326 commented 5 years ago

아뇨 그냥 그렇게 수행시켰을 경우에는 문제가 없이 동작합니다. 이건 제 추측인데, 처음 virtualenv 를 activate 시켰을 때 openmpi version이 1.10.2로 강제로 변경되는 문제가 있었어서 bashrc에서 현재 설치한 3.0.0 에 맞게 path들을 수정하는 작업을 하고있거든요. (virtualenv 를 activate하는 작업도 같이 진행합니다) parallax가 ssh를 실행하면서 위의 작업이 안이루어져서? mpi 버전이 1.10.2로 인식하는건가해서요.

jhshim0326 commented 5 years ago

제 생각이 맞았네요. activate 스크립트를 수정하여 해결했습니다. 감사합니다.

sj6077 commented 5 years ago

환경변수를 셋팅하셔야 하는거라면 bashrc가 아니라 .ssh/environment에 추가하고 /etc/init.d/ssh restart를 하셔야합니다. ssh로 접속할때는 bashrc를 읽지 않거든요. 아래 링크의 Setting Environment Variables를 참고해주시기 바랍니다. https://github.com/snuspl/parallax/blob/master/doc/quick_start.md

jhshim0326 commented 5 years ago

넵 감사합니다.