Is fMRIPrep deterministic?

If not, what are some steps that could differ between runs?

I am currently patching the latest (1.5.1rc2) for susceptibility distortion correction, and I noticed there are small differences between anatomical processing results. Although the differences are definitely insignificant, I would like to understand what may cause them.

Example:
fmriprep-sdc 1rc2

From my understanding, fMRIPrep is not entirely deterministic. @jaetzel made a similar observation here: How much variability to expect in fmriprep output with same input?