diff options
author | Roman Grundkiewicz <rgrundkiewicz@gmail.com> | 2020-11-16 00:08:10 +0300 |
---|---|---|
committer | Roman Grundkiewicz <rgrundkiewicz@gmail.com> | 2020-11-16 00:08:10 +0300 |
commit | 81023051c88d100369b08f1b338b294b88b05fde (patch) | |
tree | e4a4a2ae8c7a3a0ace8a2b17f1f55ba68fbbb5c3 | |
parent | 540eab69c53f188192b2085e992316b4762cf473 (diff) |
Update sse2/ssse3 tests
-rw-r--r-- | tests/decoder/intgemm/intgemm_16bit_sse2.avx.expected (renamed from tests/decoder/intgemm/intgemm_16bit.sse2.expected) | 0 | ||||
-rw-r--r-- | tests/decoder/intgemm/intgemm_16bit_sse2.avx.expected.bleu (renamed from tests/decoder/intgemm/intgemm_16bit.sse2.expected.bleu) | 0 | ||||
-rw-r--r-- | tests/decoder/intgemm/intgemm_8bit_ssse3.avx.expected (renamed from tests/decoder/intgemm/intgemm_8bit.ssse3.expected) | 0 | ||||
-rw-r--r-- | tests/decoder/intgemm/intgemm_8bit_ssse3.avx.expected.bleu (renamed from tests/decoder/intgemm/intgemm_8bit.ssse3.expected.bleu) | 0 | ||||
-rw-r--r-- | tests/decoder/intgemm/test_intgemm_16bit.sh | 2 | ||||
-rw-r--r-- | tests/decoder/intgemm/test_intgemm_16bit_sse2.sh | 25 | ||||
-rw-r--r-- | tests/decoder/intgemm/test_intgemm_8bit.sh | 2 | ||||
-rw-r--r-- | tests/decoder/intgemm/test_intgemm_8bit_ssse3.sh | 25 | ||||
-rw-r--r-- | tests/decoder/intgemm/update_expected_outputs.sh | 12 |
9 files changed, 42 insertions, 24 deletions
diff --git a/tests/decoder/intgemm/intgemm_16bit.sse2.expected b/tests/decoder/intgemm/intgemm_16bit_sse2.avx.expected index c065d0f..c065d0f 100644 --- a/tests/decoder/intgemm/intgemm_16bit.sse2.expected +++ b/tests/decoder/intgemm/intgemm_16bit_sse2.avx.expected diff --git a/tests/decoder/intgemm/intgemm_16bit.sse2.expected.bleu b/tests/decoder/intgemm/intgemm_16bit_sse2.avx.expected.bleu index a38fca0..a38fca0 100644 --- a/tests/decoder/intgemm/intgemm_16bit.sse2.expected.bleu +++ b/tests/decoder/intgemm/intgemm_16bit_sse2.avx.expected.bleu diff --git a/tests/decoder/intgemm/intgemm_8bit.ssse3.expected b/tests/decoder/intgemm/intgemm_8bit_ssse3.avx.expected index fb4bb06..fb4bb06 100644 --- a/tests/decoder/intgemm/intgemm_8bit.ssse3.expected +++ b/tests/decoder/intgemm/intgemm_8bit_ssse3.avx.expected diff --git a/tests/decoder/intgemm/intgemm_8bit.ssse3.expected.bleu b/tests/decoder/intgemm/intgemm_8bit_ssse3.avx.expected.bleu index 3bf0303..3bf0303 100644 --- a/tests/decoder/intgemm/intgemm_8bit.ssse3.expected.bleu +++ b/tests/decoder/intgemm/intgemm_8bit_ssse3.avx.expected.bleu diff --git a/tests/decoder/intgemm/test_intgemm_16bit.sh b/tests/decoder/intgemm/test_intgemm_16bit.sh index e596b98..89ad809 100644 --- a/tests/decoder/intgemm/test_intgemm_16bit.sh +++ b/tests/decoder/intgemm/test_intgemm_16bit.sh @@ -17,7 +17,7 @@ elif ! grep -q "avx" /proc/cpuinfo; then exit 100 fi -# Outputs differ on CPUs supporting AVX AVX2 or AVX512 +# Outputs differ on CPUs supporting AVX, AVX2 or AVX512 suffix=avx if grep -q "avx512_vnni" /proc/cpuinfo; then suffix=avx512_vnni diff --git a/tests/decoder/intgemm/test_intgemm_16bit_sse2.sh b/tests/decoder/intgemm/test_intgemm_16bit_sse2.sh index 776bd25..11f224e 100644 --- a/tests/decoder/intgemm/test_intgemm_16bit_sse2.sh +++ b/tests/decoder/intgemm/test_intgemm_16bit_sse2.sh @@ -17,31 +17,40 @@ elif ! grep -q "sse2" /proc/cpuinfo; then exit 100 fi -suffix=sse2 -prefix=intgemm_16bit +# Outputs differ on CPUs supporting AVX, AVX2 or AVX512 +suffix=avx +if grep -q "avx512_vnni" /proc/cpuinfo; then + suffix=avx512_vnni +elif grep -q "avx512" /proc/cpuinfo; then + suffix=avx512 +elif grep -q "avx2" /proc/cpuinfo; then + suffix=avx2 +fi + +prefix=intgemm_16bit_sse2 # Remove previous outputs -rm -f $prefix.$suffix.out $prefix.$suffix.bin +rm -f $prefix.out $prefix.$suffix.bin # Pack the model -$MRT_MARIAN/marian-conv -f $MRT_MODELS/student-eten/model.npz -t $prefix.$suffix.bin --gemm-type intgemm16$suffix +$MRT_MARIAN/marian-conv -f $MRT_MODELS/student-eten/model.npz -t $prefix.$suffix.bin --gemm-type intgemm16sse2 test -s $prefix.$suffix.bin # Run test $MRT_MARIAN/marian-decoder \ -m $prefix.$suffix.bin -v $MRT_MODELS/student-eten/{vocab.spm,vocab.spm} \ - -i newstest2018.src -o $prefix.$suffix.out \ + -i newstest2018.src -o $prefix.out \ -b 1 --mini-batch 32 --maxi-batch 100 --maxi-batch-sort src -w 128 \ --shortlist $MRT_MODELS/student-eten/lex.s2t 50 50 --cpu-threads 1 \ --quiet-translation # Print current and expected BLEU for debugging -python3 $MRT_TOOLS/sacrebleu/sacrebleu.py newstest2018.ref < $prefix.$suffix.out | tee $prefix.$suffix.out.bleu -cat $prefix.$suffix.expected.bleu +python3 $MRT_TOOLS/sacrebleu/sacrebleu.py newstest2018.ref < $prefix.out | tee $prefix.out.bleu +cat $prefix.expected.bleu || true # Compare with the expected output -$MRT_TOOLS/diff.sh $prefix.$suffix.out $prefix.$suffix.expected > $prefix.$suffix.diff +$MRT_TOOLS/diff.sh $prefix.out $prefix.$suffix.expected > $prefix.diff # Exit with success code diff --git a/tests/decoder/intgemm/test_intgemm_8bit.sh b/tests/decoder/intgemm/test_intgemm_8bit.sh index 03552cb..1bdec70 100644 --- a/tests/decoder/intgemm/test_intgemm_8bit.sh +++ b/tests/decoder/intgemm/test_intgemm_8bit.sh @@ -17,7 +17,7 @@ elif ! grep -q "avx" /proc/cpuinfo; then exit 100 fi -# Outputs differ on CPUs supporting AVX AVX2 or AVX512 +# Outputs differ on CPUs supporting AVX, AVX2 or AVX512 suffix=avx if grep -q "avx512_vnni" /proc/cpuinfo; then suffix=avx512_vnni diff --git a/tests/decoder/intgemm/test_intgemm_8bit_ssse3.sh b/tests/decoder/intgemm/test_intgemm_8bit_ssse3.sh index 56681b2..f7496f0 100644 --- a/tests/decoder/intgemm/test_intgemm_8bit_ssse3.sh +++ b/tests/decoder/intgemm/test_intgemm_8bit_ssse3.sh @@ -17,31 +17,40 @@ elif ! grep -q "ssse3" /proc/cpuinfo; then exit 100 fi -suffix=ssse3 -prefix=intgemm_8bit +# Outputs differ on CPUs supporting AVX, AVX2 or AVX512 +suffix=avx +if grep -q "avx512_vnni" /proc/cpuinfo; then + suffix=avx512_vnni +elif grep -q "avx512" /proc/cpuinfo; then + suffix=avx512 +elif grep -q "avx2" /proc/cpuinfo; then + suffix=avx2 +fi + +prefix=intgemm_8bit_ssse3 # Remove previous outputs -rm -f $prefix.$suffix.out $prefix.$suffix.bin +rm -f $prefix.out $prefix.$suffix.bin # Pack the model -$MRT_MARIAN/marian-conv -f $MRT_MODELS/student-eten/model.npz -t $prefix.$suffix.bin --gemm-type intgemm8$suffix +$MRT_MARIAN/marian-conv -f $MRT_MODELS/student-eten/model.npz -t $prefix.$suffix.bin --gemm-type intgemm8ssse3 test -s $prefix.$suffix.bin # Run test $MRT_MARIAN/marian-decoder \ -m $prefix.$suffix.bin -v $MRT_MODELS/student-eten/{vocab.spm,vocab.spm} \ - -i newstest2018.src -o $prefix.$suffix.out \ + -i newstest2018.src -o $prefix.out \ -b 1 --mini-batch 32 --maxi-batch 100 --maxi-batch-sort src -w 128 \ --shortlist $MRT_MODELS/student-eten/lex.s2t 50 50 --cpu-threads 1 \ --quiet-translation # Print current and expected BLEU for debugging -python3 $MRT_TOOLS/sacrebleu/sacrebleu.py newstest2018.ref < $prefix.$suffix.out | tee $prefix.$suffix.out.bleu -cat $prefix.$suffix.expected.bleu +python3 $MRT_TOOLS/sacrebleu/sacrebleu.py newstest2018.ref < $prefix.out | tee $prefix.out.bleu +cat $prefix.expected.bleu || true # Compare with the expected output -$MRT_TOOLS/diff.sh $prefix.$suffix.out $prefix.$suffix.expected > $prefix.$suffix.diff +$MRT_TOOLS/diff.sh $prefix.out $prefix.$suffix.expected > $prefix.diff # Exit with success code diff --git a/tests/decoder/intgemm/update_expected_outputs.sh b/tests/decoder/intgemm/update_expected_outputs.sh index dc7905b..d0f31e3 100644 --- a/tests/decoder/intgemm/update_expected_outputs.sh +++ b/tests/decoder/intgemm/update_expected_outputs.sh @@ -16,12 +16,12 @@ avx=$1 for suffix in '' .bleu; do - test -f intgemm_16bit.$avx.expected && cp intgemm_16bit.out$suffix intgemm_16bit.$avx.expected$suffix - test -f intgemm_8bit.$avx.expected && cp intgemm_8bit.out$suffix intgemm_8bit.$avx.expected$suffix + cp intgemm_16bit.out$suffix intgemm_16bit.$avx.expected$suffix + cp intgemm_8bit.out$suffix intgemm_8bit.$avx.expected$suffix - test -f intgemm_16bit.sse2.expected && cp intgemm_16bit.sse2.out$suffix intgemm_16bit.sse2.expected$suffix - test -f intgemm_8bit.ssse3.expected && cp intgemm_8bit.ssse3.out$suffix intgemm_8bit.ssse3.expected$suffix + cp intgemm_16bit_sse2.out$suffix intgemm_16bit_sse2.$avx.expected$suffix + cp intgemm_8bit_ssse3.out$suffix intgemm_8bit_ssse3.$avx.expected$suffix - #test -f fbgemm_intgemm_8bit.$avx.expected && cp fbgemm_intgemm_8bit.out$suffix fbgemm_intgemm_8bit.$avx.expected$suffix - #test -f intgemm_8bit_shifted.$avx.expected && cp intgemm_8bit_shifted.out$suffix intgemm_8bit_shifted.$avx.expected$suffix + #cp fbgemm_intgemm_8bit.out$suffix fbgemm_intgemm_8bit.$avx.expected$suffix + #cp intgemm_8bit_shifted.out$suffix intgemm_8bit_shifted.$avx.expected$suffix done |