112 lines
2.7 KiB
Bash
112 lines
2.7 KiB
Bash
#!/bin/bash
|
|
|
|
BATCH_SIZE=1
|
|
INPUT_LENGTH=128
|
|
NUM_ITERS=1003 # extra 3 iterations for warmup
|
|
TACOTRON2_CKPT="tacotron2_1032590_6000_amp"
|
|
WAVEGLOW_CKPT="waveglow_1076430_14000_amp"
|
|
RUN_MODE="" # = fp32
|
|
LOG_RUN_MODE="gpu_fp32"
|
|
TEST_PROGRAM="test_infer.py"
|
|
WN_CHANNELS=512
|
|
LOG_SUFFIX_ADD="" #additional info, e.g., GPU type
|
|
|
|
while [ -n "$1" ]
|
|
do
|
|
case "$1" in
|
|
-bs|--batch-size)
|
|
BATCH_SIZE="$2"
|
|
shift
|
|
;;
|
|
-il|--input-length)
|
|
INPUT_LENGTH="$2"
|
|
shift
|
|
;;
|
|
--num-iters)
|
|
NUM_ITERS="$2"
|
|
shift
|
|
;;
|
|
--test)
|
|
TEST_PROGRAM="$2"
|
|
shift
|
|
;;
|
|
--tacotron2)
|
|
TACOTRON2_CKPT="$2"
|
|
shift
|
|
;;
|
|
--encoder)
|
|
ENCODER_CKPT="$2"
|
|
shift
|
|
;;
|
|
--decoder)
|
|
DECODER_CKPT="$2"
|
|
shift
|
|
;;
|
|
--postnet)
|
|
POSTNET_CKPT="$2"
|
|
shift
|
|
;;
|
|
--waveglow)
|
|
WAVEGLOW_CKPT="$2"
|
|
shift
|
|
;;
|
|
--wn-channels)
|
|
WN_CHANNELS="$2"
|
|
shift
|
|
;;
|
|
--cpu)
|
|
RUN_MODE="--cpu"
|
|
LOG_RUN_MODE="cpu_fp32"
|
|
;;
|
|
--fp16)
|
|
RUN_MODE="--fp16"
|
|
LOG_RUN_MODE="gpu_fp16"
|
|
;;
|
|
--log-suffix)
|
|
LOG_SUFFIX_ADD="$2"
|
|
shift
|
|
;;
|
|
*)
|
|
echo "Option $1 not recognized"
|
|
esac
|
|
shift
|
|
done
|
|
|
|
LOG_SUFFIX=bs${BATCH_SIZE}_il${INPUT_LENGTH}_${LOG_RUN_MODE}_wn${WN_CHANNELS}_${LOG_SUFFIX_ADD}
|
|
NVLOG_FILE=nvlog_${LOG_SUFFIX}.json
|
|
TMP_LOGFILE=tmp_log_${LOG_SUFFIX}.log
|
|
LOGFILE=log_${LOG_SUFFIX}.log
|
|
|
|
|
|
if [ "$TEST_PROGRAM" = "trt/test_infer_trt.py" ]
|
|
then
|
|
TACOTRON2_PARAMS="--encoder $ENCODER_CKPT --decoder $DECODER_CKPT --postnet $POSTNET_CKPT"
|
|
else
|
|
TACOTRON2_PARAMS="--tacotron2 $TACOTRON2_CKPT"
|
|
fi
|
|
|
|
set -x
|
|
python $TEST_PROGRAM \
|
|
$TACOTRON2_PARAMS \
|
|
--waveglow $WAVEGLOW_CKPT \
|
|
--batch-size $BATCH_SIZE \
|
|
--input-length $INPUT_LENGTH \
|
|
--log-file $NVLOG_FILE \
|
|
--num-iters $NUM_ITERS \
|
|
--wn-channels $WN_CHANNELS \
|
|
$RUN_MODE \
|
|
|& tee $TMP_LOGFILE
|
|
set +x
|
|
|
|
|
|
PERF=$(cat $TMP_LOGFILE | grep -F 'Throughput average (samples/sec)' | awk -F'= ' '{print $2}')
|
|
NUM_MELS=$(cat $TMP_LOGFILE | grep -F 'Number of mels per audio average' | awk -F'= ' '{print $2}')
|
|
LATENCY=$(cat $TMP_LOGFILE | grep -F 'Latency average (seconds)' | awk -F'= ' '{print $2}')
|
|
LATENCYSTD=$(cat $TMP_LOGFILE | grep -F 'Latency std (seconds)' | awk -F'= ' '{print $2}')
|
|
LATENCY50=$(cat $TMP_LOGFILE | grep -F 'Latency cl 50 (seconds)' | awk -F'= ' '{print $2}')
|
|
LATENCY90=$(cat $TMP_LOGFILE | grep -F 'Latency cl 90 (seconds)' | awk -F'= ' '{print $2}')
|
|
LATENCY95=$(cat $TMP_LOGFILE | grep -F 'Latency cl 95 (seconds)' | awk -F'= ' '{print $2}')
|
|
LATENCY99=$(cat $TMP_LOGFILE | grep -F 'Latency cl 99 (seconds)' | awk -F'= ' '{print $2}')
|
|
|
|
echo "$BATCH_SIZE,$INPUT_LENGTH,$LOG_RUN_MODE,$NUM_ITERS,$LATENCY,$LATENCYSTD,$LATENCY50,$LATENCY90,$LATENCY95,$LATENCY99,$PERF,$NUM_MELS" | tee $LOGFILE
|