Why is the sample size of stochastic gradient descent a power of 2?
You can take any size you want since most memories are now larger than that, if you were to map the indices to a register, 64 values will take 6 bits whereas we have registers upto 64 bits, so it wouldn't matter much even if you choose a  different sample size. 

As far as resolution is concerned, layers like maxpool which reduce the size by half (2x2 kernel is generally used), the resolutions of outputs of layers are multiplied/divided by powers of 2, so keeping that in mind, resolutions as power of 2 makes sense, but then again, we have padding and effects of convolution on borders.