FP32 precision is usually limited to ~1e-6, so your parameter differences should be in this range between both implementations.
If you are using a lot of modules, these differences might accumulate and change the final output by a larger magnitude.
Could you print the differences for each layer and activation?
This could yield some more information, if this issue is really related to floating point precision or maybe some other bug.