The native convolution operation in PyTorch use a matrix multiplication after unfolding the input (often referred as im2col), while the cudnn implementations are closed source, but you might be able to get some information about the used algorithms in their docs.