The convolution calls are dispatched in aten/src/ATen/native/Convolution.cpp 58. The native implementation uses the im2col transformation and then a matrix multiplication while it can also be dispatched to e.g. cudnn and MKL, which can use different algorithms.