|
@@ -1,13 +1,13 @@
|
|
#!/bin/bash
|
|
#!/bin/bash
|
|
|
|
|
|
# Get the IP addresses
|
|
# Get the IP addresses
|
|
-p0addr=$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' prac_p0)
|
|
|
|
-p1addr=$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' prac_p1)
|
|
|
|
|
|
+p0addr=$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' ${PRAC_DOCKER_PREFIX}prac_p0)
|
|
|
|
+p1addr=$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' ${PRAC_DOCKER_PREFIX}prac_p1)
|
|
|
|
|
|
# Gather options and arguments
|
|
# Gather options and arguments
|
|
preproc=0
|
|
preproc=0
|
|
opts=""
|
|
opts=""
|
|
-while getopts paot:ex arg; do
|
|
|
|
|
|
+while getopts paoC:t:ex arg; do
|
|
opts+=" -${arg} ${OPTARG}"
|
|
opts+=" -${arg} ${OPTARG}"
|
|
if [ "$arg" = "p" -o "$arg" = "a" ]; then
|
|
if [ "$arg" = "p" -o "$arg" = "a" ]; then
|
|
preproc=1
|
|
preproc=1
|
|
@@ -20,27 +20,14 @@ ncores_p0=1
|
|
ncores_p1=1
|
|
ncores_p1=1
|
|
ncores_p2=1
|
|
ncores_p2=1
|
|
if [ "$whichexps" != "none" ]; then
|
|
if [ "$whichexps" != "none" ]; then
|
|
- ncores_p0=`docker exec -i prac_p0 $PRAC_NUMA_P0 nproc 2>/dev/null`
|
|
|
|
- ncores_p1=`docker exec -i prac_p1 $PRAC_NUMA_P1 nproc 2>/dev/null`
|
|
|
|
- ncores_p2=`docker exec -i prac_p2 $PRAC_NUMA_P2 nproc 2>/dev/null`
|
|
|
|
|
|
+ ncores_p0=`docker exec -i ${PRAC_DOCKER_PREFIX}prac_p0 $PRAC_NUMA_P0 nproc 2>/dev/null`
|
|
|
|
+ ncores_p1=`docker exec -i ${PRAC_DOCKER_PREFIX}prac_p1 $PRAC_NUMA_P1 nproc 2>/dev/null`
|
|
|
|
+ ncores_p2=`docker exec -i ${PRAC_DOCKER_PREFIX}prac_p2 $PRAC_NUMA_P2 nproc 2>/dev/null`
|
|
fi
|
|
fi
|
|
|
|
|
|
-ptarg_p0=""
|
|
|
|
-ptarg_p1=""
|
|
|
|
-ptarg_p2=""
|
|
|
|
-targ_p0=""
|
|
|
|
-targ_p1=""
|
|
|
|
-targ_p2=""
|
|
|
|
-
|
|
|
|
-if [ "$preproc" = 1 ]; then
|
|
|
|
- ptarg_p0="p:${ncores_p0}"
|
|
|
|
- ptarg_p1="p:${ncores_p1}"
|
|
|
|
- ptarg_p2="p:${ncores_p2}"
|
|
|
|
-else
|
|
|
|
- targ_p0="-t ${ncores_p0}"
|
|
|
|
- targ_p1="-t ${ncores_p1}"
|
|
|
|
- targ_p2="-t ${ncores_p2}"
|
|
|
|
-fi
|
|
|
|
|
|
+targ_p0="-t ${ncores_p0}"
|
|
|
|
+targ_p1="-t ${ncores_p1}"
|
|
|
|
+targ_p2="-t ${ncores_p2}"
|
|
|
|
|
|
echo ===== Running prac $opts -- $*
|
|
echo ===== Running prac $opts -- $*
|
|
date "+===== Start %s %F %T"
|
|
date "+===== Start %s %F %T"
|
|
@@ -49,17 +36,17 @@ date "+===== Start %s %F %T"
|
|
savefile0=$$.p0.out
|
|
savefile0=$$.p0.out
|
|
savefile1=$$.p1.out
|
|
savefile1=$$.p1.out
|
|
savefile2=$$.p2.out
|
|
savefile2=$$.p2.out
|
|
-docker exec -w /root/prac prac_p0 bash -c "$PRAC_NUMA_P0 stdbuf -o 0 ./prac $opts $targ_p0 0 $* $ptarg_p0 > $savefile0 2>&1" &
|
|
|
|
-docker exec -w /root/prac prac_p1 bash -c "$PRAC_NUMA_P1 stdbuf -o 0 ./prac $opts $targ_p1 1 $p0addr $* $ptarg_p1 > $savefile1 2>&1" &
|
|
|
|
-docker exec -w /root/prac prac_p2 bash -c "$PRAC_NUMA_P2 stdbuf -o 0 ./prac $opts $targ_p2 2 $p0addr $p1addr $* $ptarg_p2 > $savefile2 2>&1" &
|
|
|
|
|
|
+docker exec -w /root/prac ${PRAC_DOCKER_PREFIX}prac_p0 bash -c "$PRAC_NUMA_P0 stdbuf -o 0 ./prac $opts $targ_p0 0 $* > $savefile0 2>&1" &
|
|
|
|
+docker exec -w /root/prac ${PRAC_DOCKER_PREFIX}prac_p1 bash -c "$PRAC_NUMA_P1 stdbuf -o 0 ./prac $opts $targ_p1 1 $p0addr $* > $savefile1 2>&1" &
|
|
|
|
+docker exec -w /root/prac ${PRAC_DOCKER_PREFIX}prac_p2 bash -c "$PRAC_NUMA_P2 stdbuf -o 0 ./prac $opts $targ_p2 2 $p0addr $p1addr $* > $savefile2 2>&1" &
|
|
wait
|
|
wait
|
|
echo ===== P0 output
|
|
echo ===== P0 output
|
|
-docker exec -w /root/prac prac_p0 cat $savefile0
|
|
|
|
-docker exec -w /root/prac prac_p0 rm -f $savefile0
|
|
|
|
|
|
+docker exec -w /root/prac ${PRAC_DOCKER_PREFIX}prac_p0 cat $savefile0
|
|
|
|
+docker exec -w /root/prac ${PRAC_DOCKER_PREFIX}prac_p0 rm -f $savefile0
|
|
echo ===== P1 output
|
|
echo ===== P1 output
|
|
-docker exec -w /root/prac prac_p1 cat $savefile1
|
|
|
|
-docker exec -w /root/prac prac_p1 rm -f $savefile1
|
|
|
|
|
|
+docker exec -w /root/prac ${PRAC_DOCKER_PREFIX}prac_p1 cat $savefile1
|
|
|
|
+docker exec -w /root/prac ${PRAC_DOCKER_PREFIX}prac_p1 rm -f $savefile1
|
|
echo ===== P2 output
|
|
echo ===== P2 output
|
|
-docker exec -w /root/prac prac_p2 cat $savefile2
|
|
|
|
-docker exec -w /root/prac prac_p2 rm -f $savefile2
|
|
|
|
|
|
+docker exec -w /root/prac ${PRAC_DOCKER_PREFIX}prac_p2 cat $savefile2
|
|
|
|
+docker exec -w /root/prac ${PRAC_DOCKER_PREFIX}prac_p2 rm -f $savefile2
|
|
date "+===== End %s %F %T"
|
|
date "+===== End %s %F %T"
|