#!/bin/sh NRNIV=/home/hines/neuron/nrnmpi/x86_64/bin/nrniv np=1 PHASE=0 if test "$1" != "" ; then PHASE="$1" fi run() { np=$1 shift echo "mpiexec -n $np $NRNIV -mpi $*" mpiexec -n $np $NRNIV -mpi $* } phase() { np=$1 p=$2 shift shift run $np -c "load_balance_phase=$p" $* } # create mcomplex.dat if test "$PHASE" = "1" ; then phase 1 $PHASE init.hoc fi # whole cell load balance with specified prefix and nhost if test "$PHASE" = "4" ; then prefix=cxwhole nhost=256 sed " /default_var.*wholecell_prefix/s/cxwhole/$prefix/ " init.hoc > _init.hoc phase 4 $PHASE _init.hoc run 1 -c "{load_file(\"hoc/binfo.hoc\")}" -c "mymetis2(\"$prefix\",$nhost)" fi #whole cell load balance run with specified prefix if test "$PHASE" = "5" ; then prefix=cxwhole nhost=256 if test "$2" != "" ; then nhost="$2" fi sed " /default_var.*wholecell_prefix/s/cxwhole/$prefix/ " init.hoc > _init.hoc phase $nhost $PHASE _init.hoc sortspike out$nhost.dat out$nhost.$PHASE rm out$nhost.dat fi # base round robin run if test "$PHASE" = "0" ; then nhost=256 if test "$2" != "" ; then nhost="$2" fi phase $nhost $PHASE init.hoc sortspike out$nhost.dat out$nhost.$PHASE rm out$nhost.dat fi # multisplit load balance with specified prefix and nhost if test "$PHASE" = "6" ; then prefix=cx nhost=256 if test "$2" != "" ; then nhost="$2" fi sed " /default_var.*multisplit_prefix/s/cx/$prefix/ /default_var.*multisplit_nhost/s/256/$nhost/ " init.hoc > _init.hoc phase 4 $PHASE _init.hoc run 1 -c "{load_file(\"hoc/binfo.hoc\")}" -c "mymetis3(\"$prefix\",$nhost)" #run 1 -c "{load_file(\"hoc/binfo.hoc\")}" -c "mkbalinfo(\"$prefix\",$nhost)" fi # multisplit load balance run if test "$PHASE" = "7" ; then prefix=cx nhost=256 if test "$2" != "" ; then nhost="$2" fi sed " /default_var.*multisplit_prefix/s/cx/$prefix/ " init.hoc > _init.hoc phase $nhost $PHASE _init.hoc sortspike out$nhost.dat out$nhost.$PHASE rm out$nhost.dat fi