Yes, this is generally expected due to different hardware, algorithms, library versions, optimizations etc.
E.g. a different CPU might use other optimizations for e.g. SIMD instructions and could thus yield slightly different results; the same applies for GPUs, especially since different kernels can be used.