Program Çalıştırma

Yukarıda gösterilen denemeleri yaptıktan sonra, artık program çalıştırabiliyor olmalısınız. Şu andan sonraki komutlar LAM için özeldir.

Ana düğüme geri dönün, wolf olarak oturum açın ve şu komutları verin:

cat > /nnt/wolf/lamhosts
wolf01
wolf02
wolf03
wolf04
<control d>

LAM örneklerinin bulunduğu dizinine gidin ve hello.c dosyasını derleyin:

mpicc -o hello hello.c
cp hello /mnt/wolf

Sonra, LAM kılavuzunda belirtildiği gibi LAM'i başlatın:

[wolf@wolf00 wolf]$ lamboot -v lamhosts
LAM 7.0/MPI 2 C++/ROMIO - Indiana University
n0<2572> ssi:boot:base:linear: booting n0 (wolf00)
n0<2572> ssi:boot:base:linear: booting n1 (wolf01)
n0<2572> ssi:boot:base:linear: booting n2 (wolf02)
n0<2572> ssi:boot:base:linear: booting n3 (wolf04)
n0<2572> ssi:boot:base:linear: finished

Böylece, artık uygulama çalıştırmaya hazırız. (Unutmayın ben LAM kullanıyorum, siz başka bir yazılım kullanıyorsanız söz dizimi değişebilir.)

[wolf@wolf00 wolf]$ mpirun n0-3 /mnt/wolf/hello
Merhaba dünya! I am 0 of 4
Merhaba dünya! I am 3 of 4
Merhaba dünya! I am 2 of 4
Merhaba dünya! I am 1 of 4
[wolf@wolf00 wolf]$

Hatırlayın yukarıda NFS kullanımından bahsetmiştim. Bütün düğümlere paylaşımlı dizini kullanmalarını söylüyorum. Çalıştırılabilir dosyaları kolayca her bir düğüme kopyalayabilirsiniz ve mpirun komutlarıyla, düğüm yerel dizinlerini belirtebilirsiniz.

mpirun n0-3 /home/wolf/hello

gibi. Bunun için ön şart bütün dosyaların yerel erişilebilir olmasıdır. Gerçekten bunu yaptım ve nfs, paylaşımlıçalıştırılabilir dosya kullanmaktan daha iyi çalıştı. Tabii ki, benim küme uygulamam, kümeleme yoluyla paylaşılmış dosyayı düzenleme ihtiyacı duyuyorsa bu teori çöker...