Notice
Recent Posts
Recent Comments
Link
관리 메뉴

뛰는 놈 위에 나는 공대생

[프로그래밍] MPI를 windows에서 사용하는 방법 본문

프로그래밍 Programming

[프로그래밍] MPI를 windows에서 사용하는 방법

보통의공대생 2022. 7. 26. 21:18

필자는 컴퓨터 전공이 아니라서 아주 기초적인 컴공 지식 밖에 모른다.

그래서 다른 사람의 소스코드를 쓰다가 어려움을 겪었는데 간단한 결과를 소개하고자 한다.

 

 

내가 쓰려고 했던 것은 딥러닝 학습에서 네크워크의 gradient surface를 보여줄 수 있는 그림이었다.

이를 위해서 

 

https://github.com/tomgoldstein/loss-landscape

 

GitHub - tomgoldstein/loss-landscape: Code for visualizing the loss landscape of neural nets

Code for visualizing the loss landscape of neural nets - GitHub - tomgoldstein/loss-landscape: Code for visualizing the loss landscape of neural nets

github.com

 

이곳에 있는 코드를 쓰고 싶었다. 그런데

mpirun -n 4 python plot_surface.py --mpi --cuda --model resnet56 --x=-1:1:51 --y=-1:1:51 \
--model_file cifar10/trained_nets/resnet56_sgd_lr=0.1_bs=128_wd=0.0005/model_300.t7 \
--dir_type weights --xnorm filter --xignore biasbn --ynorm filter --yignore biasbn  --plot

 

다음과 같은 코드를 보고 어떻게 써야하는지 몰라서 고생했다.

MPI(message Passing Interface)라고 해서 구글에 검색했을 때 가장 먼저 나온 결과를 보면, 병렬 프로그램을 여러 대의 컴퓨터에 돌리기 위해 메시지를 전달해주는 프로그램이라고 한다. 깊게 이해하기에는 내 전공과 관련이 없어보여서 일단은 사용하는 방법에 집중하였다.

 

사람들이 C코드 내지 C++코드에서 MPI 헤더를 import하여서 프로그램을 짜고, 이 프로그램을 Linux shell에서 동작시키는 것을 보았다. 물론 Linux에서도 셋팅이 필요하겠지만 일단 참고하지 않았다.

 

그런데 나는 리눅스를 쓸 생각이 없는데다가 python을 써야했기 때문에 좀 더 찾아보았다.

 

찾아본 결과, windows에서는 Microsoft MPI라는 프로그램이 있어서 

https://www.microsoft.com/en-us/download/details.aspx?id=54607 

 

Download Microsoft MPI v8 (Archived) from Official Microsoft Download Center

Important! Selecting a language below will dynamically change the complete page content to that language. Download Stand-alone, redistributable and SDK installers for Microsoft MPI. Details Note: There are multiple files available for this download. Once y

www.microsoft.com

위의 사이트에 들어가서 Microsoft MPI를 다운받는다.

 

사이트에서 Download 버튼을 누르면

다음과 같이 나오는데 반드시 두 개 다 다운받아서 설치해야한다. 아래 MSMpiSetup.exe만 설치해도 되는 줄 알았다가 나중에 동작이 안되는 걸 알고 다 설치했다.(...)

 

 

그런 다음에 명령프롬프트를 열어서 

mpiexec -help

를 명령어에 치면 제대로 동작할 때 설치된 것이다.

나는 위와 같이 나왔다.

참고로 Linux에서는 <mpirun>이라는 명령어를 쓰고 windows에서는 <mpiexec>라는 명령어를 쓴다고 한다.

 

 

그리고 이제 내가 원하는 python 파일을 실행하면 된다.

다만 그냥 명령프롬프트에서 python 파일을 실행하면 라이브러리를 import할 때 문제가 많이 생길 것이다.

anaconda prompt에서 내가 원하는 가상환경에서 돌리도록 하자.

 

 


 

 

참고자료

https://nyu-cds.github.io/python-mpi/setup/

 

Python MPI: Setup

Microsoft MPI To use MPI with Windows, you will need to install the free download of Microsoft MPI. Go to the installation page and download MSMpiSetup.exe. Once downloaded, run the executable and follow the instructions. Next, add the path C:\Program File

nyu-cds.github.io

 

Comments