We are currently developing an optimized convolution algorithm for ARM, in C++. We are using Ubuntu 18.04 for aarch64 on an ARM development board, Odroid N2+ to be exact.
To test the algorithm against other popular methods, (im2col+gemm, FFT, Winograd...) we download Pytorch, and compiled its C++ API, libtorch, natively in our development environment. But unfortunately it seems there aren't a way to change the convolution algorithm from the given API.
Is there a way to change the convolution algorithm in Pytorch? (Or libtorch?) If not, are there any other frameworks or APIs that would provide optimized implementations of different convolution algorithms for our environment? (ARMv8, aarch64, C++)