Ce document a été produit par
HEVEA.
Votre browser peut avoir a être configuré pour afficher correctement
certains symboles.
Reportez-vous à la
documentation
d'HEVEA.
rlogin farm?.lifl.fr
? de 1 à 16
.login et mon .cshrc en conséquence. .cshrc
setenv PVM_ROOT ~/pvm3
if (-r ${PVM_ROOT}/lib/pvmgetarch) then
setenv PVM_ARCH `${PVM_ROOT}/lib/pvmgetarch`
set path = ($path ${PVM_ROOT}/lib)
setenv MANPATH "${MANPATH}:${PVM_ROOT}/man"
alias pvmgs ~/pvm3/lib/${PVM_ARCH}/pvmgs
setenv pvmbin ~/pvm3/bin/$PVM_ARCH
setenv pvmout /tmp/pvml.5408
else
unsetenv PVM_ROOT
endif
~/pvm3
/usr/local/pvm3
cd
mkdir pvm3
cd pvm3
foreach name (conf doc examples include lib man)
ln -s /usr/local/pvm3/$name
end
mkdir bin
echo $PVM_ROOT
rsh farm? 'echo $PVM_ROOT'
.rhosts
PVM_ROOT est bien défini dans le .cshrc
.cshrc ne produit pas d'entrée/sortie (stty,
echo...)
pvm
pvm> conf
....
pvm> add farm?-giga
...
pvm> conf
On peut ensuite laisser tourner le daemon PVM
pvm> quit
cd ~/pvm3/examples
make hello
make hello_other
~/pvm3/bin/ALPHA/hello
~/pvm3/bin/$PVM_ARCH/hello
$pvmbin/hello
Il affiche hello from "farm?-giga", c'est gagné
pvm
pvm already running
pvm> halt
libpvm [t40001]: mxfer() EOF on pvmd sock
Ce message indique que c'est bien fini !
~/pvm3/bin/$PVM_ARCH
Makefile dans le répertoire courant
$PVM_ARCH pour les objetstoto.f :
f77 -I${PVM_ROOT}/include -c toto.f
mv toto.o $PVM_ARCH/toto.o
f77 -o toto $PVM_ARCH/toto.o $PVM_ROOT/lib/$PVM_ARCH/libfpvm3.a \
$PVM_ROOT/lib/$PVM_ARCH/libpvm3.a
mv toto $PVM_ROOT/bin/$PVM_ARCH
Makefile
# Il est nécessaire d'avoir positionné les variables shell
# PVM_ROOT : la racine de pvm3
# PVM_ARCH : l'architecture pour laquelle compiler
#
IncludePath=${PVM_ROOT}/include
PvmLib=${PVM_ROOT}/lib/${PVM_ARCH}/libpvm3.a
PvmFLib=${PVM_ROOT}/lib/${PVM_ARCH}/libfpvm3.a
PvmGLib=${PVM_ROOT}/lib/${PVM_ARCH}/libgpvm3.a
BinDir=${HOME}/pvm3/bin/${PVM_ARCH}
ObjDir=${PVM_ARCH}
FFLAGS=-I${IncludePath}
# Ne pas changer l'ordre des librairies dans la définition suivante
LDLIBS=${PvmFLib} ${PvmLib}
LDFLAGS=
LINK=f77
toto : ${BinDir}/toto
@echo "$@ done"
${ObjDir}/toto.o : toto.f toto.h
${FC} ${FFLAGS} -c toto.f
mv `basename $@` $@
${BinDir}/toto : ${ObjDir}/toto.o
${LINK} ${LDFLAGS} -o `basename $@` ${ObjDir}/toto.o ${LDLIBS}
mv `basename $@` $@
Makefile :
# .. initialisations ..
init : ${ObjDir} ${BinDir}
@echo "initialisations faites"
${ObjDir} :
mkdir -p $@
${BinDir} :
mkdir -p $@
Initialisation :make initrsh entre toutes les
machines
~/pvm3/bin contennant les mêmes
exécutables
passwd
/etc/hosts.equiv)
rsh autorisés
~/pvm3/bin
/usr/local
/etc/passwd sur toutes les machines
~/.rhosts de chaque utilisateur
/usr/local
halt sous la console PVM
halt
/tmp/pvm*
/tmp/
killpvm : exemple de script (csh)
while ($1 != "")
echo Checking $1 .....
rsh $1 -l $USER ' \
if ($PVM_ROOT/lib/$PVM_ARCH/pvm != `which pvm` && $PVM_ROOT/lib/pvm != `which pvm`) then \
echo PVM is not properly installed on $HOST \! \
else \
echo halt | pvm >& /dev/null \
if ($?TMPDIR) then \
find $TMPDIR/* -type s -exec /bin/rm -f {} \; >& /dev/null \
/bin/rm -f $TMPDIR/pvm* >& /dev/null \
endif \
find /tmp/* -type s -exec /bin/rm -f {} \; >& /dev/null \
/bin/rm -f /tmp/pvm* >& /dev/null \
endif \
'
shift
end
pvmd tourne sur chaque noeud d'une
machine virtuelle pour chaque utilisateur
/tmp/pvml.uid
/tmp
Ce document a été traduit de LATEX par HEVEA.