I wonder how PyTorch implements convolutional layers to ensure reasonable performance.

How are input feature maps stored in memory?
Is data replicated when applying filters to different patches of the input?