33set -u
44
55echo " ompi version with AVX512 -- Usage: arg1: count of elements, args2: 'i'|'u'|'f'|'d' : datatype: signed, unsigned, float, double. args3 size of type. args4 operation"
6- echo " mpirun -mca op_sve_hardware_available 0 -mca op_avx_hardware_available 0 -np 1 Reduce_local_float 1048576 i 8 max"
6+ mpirun=" mpirun --mca pml ob1 --mca btl vader,self"
7+ echo " $mpirun -mca op_sve_hardware_available 0 -mca op_avx_hardware_available 0 -np 1 Reduce_local_float 1048576 i 8 max"
78
89Orange=" \033[0;33m"
910Blue=" \033[0;34m"
1011Purple=" \033[0;35m"
12+ Yellow=" \e[1;33m"
1113
12- NC=" \033[0m"
14+ NC=" \e[m"
15+
16+ verbose=0
1317
1418echo " =========Signed Integer type all operations & all sizes========"
1519echo " "
16- for op in max min sum mul band bor bxor; do
20+ for op in max min sum prod band bor bxor; do
1721 echo -e " \n===Operation $op test==="
1822 for type_size in 8 16 32 64; do
1923 for size in 0 1 7 15 31 63 127 130; do
2024 foo=$(( 1024 * 1024 + $size ))
21- echo -e " Test \e[1;33m __mm512 instruction for loop \e[m Total_num_bits = $foo * $type_size "
22- echo " mpirun -np 1 reduce_local $foo i $type_size $op "
23- mpirun -np 1 reduce_local $foo i $type_size $op
25+ echo -e " Test $Yellow __mm512 instruction for loop $NC Total_num_bits = $foo * $type_size "
26+ cmd=" $mpirun -np 1 reduce_local -l $foo -u $foo -t i -s $type_size -o $op "
27+ if test $verbose -eq 1 ; then echo $cmd ; fi
28+ eval $cmd
2429 done
2530 echo -e " \n\n"
2631 done
@@ -31,14 +36,15 @@ echo -e "\n\n"
3136
3237echo " =========Unsigned Integer type all operations & all sizes========"
3338echo " "
34- for op in max min sum mul band bor bxor; do
39+ for op in max min sum prod band bor bxor; do
3540 echo -e " \n===Operation $op test==="
3641 for type_size in 8 16 32 64; do
3742 for size in 0 1 7 15 31 63 127 130; do
3843 foo=$(( 1024 * 1024 + $size ))
39- echo -e " Test \e[1;33m __mm512 instruction for loop \e[m Total_num_bits = $foo * $type_size "
40- echo " mpirun -np 1 reduce_local $foo u $type_size $op "
41- mpirun -np 1 reduce_local $foo u $type_size $op
44+ echo -e " Test $Yellow __mm512 instruction for loop $NC Total_num_bits = $foo * $type_size "
45+ cmd=" $mpirun -np 1 reduce_local -l $foo -u $foo -t u -s $type_size -o $op "
46+ if test $verbose -eq 1 ; then echo $cmd ; fi
47+ eval $cmd
4248 done
4349 done
4450done
@@ -47,21 +53,25 @@ echo -e "\n\n"
4753
4854echo " =======Float type all operations========"
4955echo " "
50- for op in max min sum mul ; do
56+ for op in max min sum prod ; do
5157 for size in 1024 127 130; do
5258 foo=$(( 1024 * 1024 + $size ))
53- echo -e " Test \e[1;33m __mm512 instruction for loop \e[m Total_num_bits = $foo * 32"
54- mpirun -np 1 reduce_local $foo f 32 $op
59+ echo -e " Test $Yellow __mm512 instruction for loop $NC Total_num_bits = $foo * 32"
60+ cmd=" $mpirun -np 1 reduce_local -l $foo -u $foo -t f -s 32 -o $op "
61+ if test $verbose -eq 1 ; then echo $cmd ; fi
62+ eval $cmd
5563 done
5664done
5765
5866echo " ========Double type all operations========="
5967echo " "
60- for op in max min sum mul ; do
68+ for op in max min sum prod ; do
6169 for size in 1024 127 130; do
6270 foo=$(( 1024 * 1024 + $size ))
63- echo -e " Test \e[1;33m __mm512 instruction for loop \e[m Total_num_bits = $foo * 64"
64- mpirun -np 1 reduce_local $foo d 64 $op
71+ echo -e " Test $Yellow __mm512 instruction for loop $NC Total_num_bits = $foo * 64"
72+ cmd=" $mpirun -np 1 reduce_local -l $foo -u $foo -t d -s 64 -o $op "
73+ if test $verbose -eq 1 ; then echo $cmd ; fi
74+ eval $cmd
6575 done
6676done
6777
0 commit comments