Mali_v0.04.log misses lots of configs which exist in mali_v0.03.log


#1

e.g. the following configs needed for resnet50_v2 are missing in mali_v0.04.log

Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 3, 224, 224, 'float32'), (64, 3, 7, 7, 'float32'), (2, 2), (3, 3), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 64, 56, 56, 'float32'), (64, 64, 1, 1, 'float32'), (1, 1), (0, 0), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 64, 56, 56, 'float32'), (64, 64, 3, 3, 'float32'), (1, 1), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 64, 56, 56, 'float32'), (256, 64, 1, 1, 'float32'), (1, 1), (0, 0), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 256, 56, 56, 'float32'), (64, 256, 1, 1, 'float32'), (1, 1), (0, 0), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 256, 56, 56, 'float32'), (128, 256, 1, 1, 'float32'), (1, 1), (0, 0), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 128, 56, 56, 'float32'), (128, 128, 3, 3, 'float32'), (2, 2), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 128, 28, 28, 'float32'), (512, 128, 1, 1, 'float32'), (1, 1), (0, 0), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 256, 56, 56, 'float32'), (512, 256, 1, 1, 'float32'), (2, 2), (0, 0), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 512, 28, 28, 'float32'), (128, 512, 1, 1, 'float32'), (1, 1), (0, 0), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 128, 28, 28, 'float32'), (128, 128, 3, 3, 'float32'), (1, 1), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 512, 28, 28, 'float32'), (256, 512, 1, 1, 'float32'), (1, 1), (0, 0), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 256, 28, 28, 'float32'), (256, 256, 3, 3, 'float32'), (2, 2), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 256, 14, 14, 'float32'), (1024, 256, 1, 1, 'float32'), (1, 1), (0, 0), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 512, 28, 28, 'float32'), (1024, 512, 1, 1, 'float32'), (2, 2), (0, 0), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 1024, 14, 14, 'float32'), (256, 1024, 1, 1, 'float32'), (1, 1), (0, 0), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 256, 14, 14, 'float32'), (256, 256, 3, 3, 'float32'), (1, 1), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 1024, 14, 14, 'float32'), (512, 1024, 1, 1, 'float32'), (1, 1), (0, 0), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 512, 14, 14, 'float32'), (512, 512, 3, 3, 'float32'), (2, 2), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 512, 7, 7, 'float32'), (2048, 512, 1, 1, 'float32'), (1, 1), (0, 0), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 1024, 14, 14, 'float32'), (2048, 1024, 1, 1, 'float32'), (2, 2), (0, 0), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 2048, 7, 7, 'float32'), (512, 2048, 1, 1, 'float32'), (1, 1), (0, 0), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 512, 7, 7, 'float32'), (512, 512, 3, 3, 'float32'), (1, 1), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.

mali_v0.03.log misses only 3 configs

Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 128, 56, 56, 'float32'), (128, 128, 3, 3, 'float32'), (2, 2), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 256, 28, 28, 'float32'), (256, 256, 3, 3, 'float32'), (2, 2), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.
Cannot find config for target=opencl -device=mali -model=rk3399, workload=('conv2d', (1, 512, 14, 14, 'float32'), (512, 512, 3, 3, 'float32'), (2, 2), (1, 1), 'NCHW', 'float32'). A fallback configuration is used, which may bring great performance regression.

#2

In the general case this is currently a tricky problem, as you can imagine versioning can apply not to just the best config found at a particular moment, but also whether the config matches the latest template checked into mainline tvm. Perhaps there is some middle ground where we can do something halfway between a fallback and loading an old config—speculate that the old config works, and use it if it provides better performance than the pure fallback heuristic.


#3

The problem was that I used older TVM version and mali_v0.04.log schedule file.
After I updated to the latest TVM I see the same 3 missing configs that I saw with (mali_v0.03.log + older TVM)