PM/SCIは、Scali社のScaSCIを使用して実装されています。 このため、PM/SCIを使用する為には、 Scali社から提供されているScaSCI、ScaSCIadap、ScasSCIddkを インストールする必要があります。 また、PM/SCIは、バイナリ配付には含まれていないため、 SCoreのソースを再コンパイルする必要があります。
最初に、EIT ないしは手動でイーサネットを使用した SCore をインストールしてください。
ScaSCI、ScaSCIadp、ScaSCIddkのRPMパッケージを、 Scali社のWEBページ かtらダウンロードして以下のようにインストールしてください.
# rpm -i ScaSCI.rpm # rpm -i ScaSCIddk.rpm # rpm -i ScaSCIadap.rpm
PM/SCIを組み込んだSCoreをコンパイルするためには、 サイト依存ファイルに次の行を追加する必要があります。
SCASCI_HOME = /opt/scaliPM/SCI が使用できる SCore を作成するために、以下を実行してください。
# cd /opt/score/score-src/ # echo SCASCI_HOME = /opt/scali >> adm/config/site # make distclean # ./configure --option=site # make # rsh-all -g pcc -norsh rdist -c /opt/score/deploy @host:
# rpm -i ScaSCI.rpm # rpm -i ScaSCIddk.rpm # rpm -i ScaSCIadap.rpmそれから、すべての計算ホストでモジュールをコンパイルします。
# KERNEL_HEADER_BASE=/usr/src # KERNEL_DIR=linux-2.4 # export KERNEL_HEADER_BASE KERNEL_DIR # mkdir -p ~/scascibuild # cd ~/scascibuild # /opt/scali/kernel/rebuild/configure # makeScaSCI ドライバの "Makefile" は SSP 環境を仮定しています。 もし、SSP 環境をもっていないのでしたら、 /scascibuild/Linux/Makefile の
install: scarcp libkmatch.a $K/userkv`cat uname.ver`.a scash rm -f $K/ssci.oという部分を以下のように変更してください。
install: cp libkmatch.a $K/userkv`cat uname.ver`.a rm -f $K/ssci.o変更しましたら、以下のコマンドを実行して ScaSCI モジュールをインストールします。
install: cp libkmatch.a $K/userkv`cat uname.ver`.a rm -f $K/ssci.o
KERNEL_DIR = /usr/src/linux-2.4次のコマンドを実行してドライバーをコンパイルします。
# rsh-all -g pcc -norsh rdist -c /opt/score/score-src/SCore/build @host: # rsh-all -g pcc -norsh rdist -c /opt/score/score-src/SCore/pm2 @host: # scout -g pcc # cd /opt/score/score-src/SCore/pm2/arch/sci/driver/linux # scout make
# scout 'cp /opt/score/score-src/SCore/pm2/arch/sci/driver/linux/pm_sci.o \ /lib/modules/`uname -r`/kernel/drivers/char' # scout cp /opt/score/score-src/SCore/pm2/arch/sci/tools/pm_sci.rc /etc/rc.d/init.d/pm_sci # scout /sbin/chkconfig --add pm_sci # scout /opt/score/score-src/SCore/pm2/arch/sci/tools/mkpmscidev # exit
# cd /opt/score/score-src/SCore/pm2/arch/sci/tools # ./mkpmsciconf -g pcc -set -f ./pmsci.conf # mv ./pmsci.conf /opt/score/etc/pmsci.conf
/* PM/Ethernet */ ethernet type=ethernet -config:file=/opt/score/etc/pm-ethernet.conf /* PM/SCI */ sci type=sci -config:file=/opt/score/etc/pmsci.conf #define PCC MSGBSERV(server.pccluster.org:8766) \ cpugen=pentium-iii speed=800 smp=1 \ network=ethernet,sci group=pcc comp0.pccluster.org PCC comp1.pccluster.org PCC comp2.pccluster.org PCC comp3.pccluster.org PCC
PM/SCI を使用した Omni OpenMP on SCASH が動くかどうか確認するために、 /opt/omni/lib/openmp/examples/scash-tEst ディレクトリにあるサンプル プログラムを動かしてください。
$ cd /opt/omni/lib/openmp/examples/scash-test/cg $ make $ ./cg-makedata data final nonzero count in sparse number of nonzeros = 1853104 Fri Nov 2 17:34:48 JST 2001 $ scout -g pcc $ scrun ./cg-omp data SCore-D 4.2 connected. <0:0> SCORE: 4 nodes (4x1) ready. read file .. omp_num_thread=1 omp_max_thread=4 read done ... 0 1.4483e-13 19.99975812770398 1 1.3444e-15 17.11404957455056 2 1.3412e-15 17.12966689461433 3 1.3074e-15 17.13021135811924 4 1.2853e-15 17.13023388563526 5 1.2249e-15 17.13023498794818 6 1.2164e-15 17.13023504989156 7 1.1879e-15 17.13023505375095 8 1.1349e-15 17.13023505401005 9 1.1087e-15 17.13023505402842 10 1.0767e-15 17.13023505402978 11 1.1344e-15 17.13023505402988 12 1.0106e-15 17.13023505402988 13 9.9676e-16 17.13023505402989 14 9.3180e-16 17.13023505402989 time = 88.405219, 5.893681 (0.000000e+00 - 8.840522e+01)/15, NITCG=25 $ exit
$ cd /opt/omni/lib/openmp/examples/scash-test/laplace $ make $ scout -g pcc $ scrun ./lap-omp SCore-D 4.2 connected. <0:0> SCORE: 4 nodes (4x1) ready. sum = 0.579817 iter=50, time=4.40174 $ exit
$ cd /opt/omni/lib/openmp/examples/scash-test/laplace-f77 $ make $ scout -g pcc $ scrun ./lap-omp SCore-D 4.2 connected. <0:0> SCORE: 4 nodes (4x1) ready. sum= 52.1801176 time= 4.04782808 end.. $ exit
![]() |
PCクラスタコンソーシアム |