diff options
Diffstat (limited to 'tools/cuda-ab/ab.sh')
| -rwxr-xr-x | tools/cuda-ab/ab.sh | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/tools/cuda-ab/ab.sh b/tools/cuda-ab/ab.sh index 07f6b24..8ae05ee 100755 --- a/tools/cuda-ab/ab.sh +++ b/tools/cuda-ab/ab.sh @@ -11,6 +11,7 @@ # tools/cuda-ab/ab.sh guest # push the binary + run in the running VM # tools/cuda-ab/ab.sh compare # diff the stable result lines # tools/cuda-ab/ab.sh all # host + guest + compare +# tools/cuda-ab/ab.sh victory # push victory_mail to the VM (runner executes it) # # The binary links the CUDA runtime statically, so the guest needs no CUDA # toolkit - only the guest driver's libcuda.so. @@ -20,8 +21,9 @@ HERE="$(cd "$(dirname "$0")" && pwd)" REPO="$(cd "$HERE/../.." && pwd)" VMEXEC="$REPO/scripts/vgpu_vm.py" RUN="$HERE/run" -SRC="$HERE/vector_add.cu" -BIN="$RUN/vector_add" +WORKLOAD="${WORKLOAD:-vector_add}" +SRC="$HERE/$WORKLOAD.cu" +BIN="$RUN/$WORKLOAD" mkdir -p "$RUN" @@ -44,19 +46,19 @@ push_bin() { off=0 size=70000 echo "[*] pushing $(stat -c%s "$BIN") bytes to guest" - "$VMEXEC" exec "rm -f /tmp/vadd.b64" >/dev/null 2>&1 + "$VMEXEC" exec "rm -f /tmp/$WORKLOAD.b64" >/dev/null 2>&1 while [ $off -lt $total ]; do chunk=${b64:$off:$size} - "$VMEXEC" exec "echo -n '$chunk' >> /tmp/vadd.b64" >/dev/null 2>&1 + "$VMEXEC" exec "echo -n '$chunk' >> /tmp/$WORKLOAD.b64" >/dev/null 2>&1 off=$((off + size)) done - "$VMEXEC" exec "base64 -d /tmp/vadd.b64 > /tmp/vector_add && chmod +x /tmp/vector_add && rm -f /tmp/vadd.b64 && echo PUSH_OK" + "$VMEXEC" exec "base64 -d /tmp/$WORKLOAD.b64 > /tmp/$WORKLOAD && chmod +x /tmp/$WORKLOAD && rm -f /tmp/$WORKLOAD.b64 && echo PUSH_OK" } run_guest() { push_bin echo "[*] guest run (emulated vGPU)" - "$VMEXEC" exec "/tmp/vector_add" 2>&1 | tee "$RUN/guest.txt" + "$VMEXEC" exec "/tmp/$WORKLOAD" 2>&1 | tee "$RUN/guest.txt" } compare() { @@ -84,5 +86,10 @@ host) run_host ;; guest) run_guest ;; compare) compare ;; all) run_host; run_guest; compare ;; -*) echo "usage: $0 [host|guest|compare|all]"; exit 1 ;; +victory) + WORKLOAD=victory_mail + SRC="$HERE/$WORKLOAD.cu" + BIN="$RUN/$WORKLOAD" + push_bin ;; +*) echo "usage: $0 [host|guest|compare|all|victory]"; exit 1 ;; esac |
