testing mipp
Available at compile time:
- TYPE in double, float or int, the data type used
- NSAMPLE integer, running the kernel function to be bench NSAMPLE times
- OPTIM in transform, mipp, the kernel function to be used
Available at run time:
- NELE integer, vector length
#!/bin/bash
guix shell [email protected]
CFLAGS="-O3 -funroll-loops -floop-unroll-and-jam -march=cascadelake -mavx512f -mavx512dq -mavx512ifma"
for p in {30..6..-1}
do
power=$((2 ** $p))
g++ $CFLAGS -DTYPE=double -DNSAMPLE=20 -DOPTIM=transform -o fmadd fmadd.cpp
./fmadd $power
done
for p in {30..6..-1}
do
power=$((2 ** $p))
g++ $CFLAGS -DTYPE=double -DNSAMPLE=20 -DOPTIM=mipp -o mippfmadd mipp_fmadd.cpp
./mippfmadd $power
done