I2PC / xmipp

Xmipp is a suite of image processing programs, primarily aimed at single-particle 3D electron microscopy.
http://biocomputingunit.es/
GNU General Public License v3.0
38 stars 15 forks source link

angular_project_library produces deterministic results when perturbed #756

Closed oierlauzi closed 1 year ago

oierlauzi commented 1 year ago

angular_project_library produces deterministic results when a random perturbation (--perturb) is requested. I thought it was because it was using the default seed, but it turns out that system time is used for seeding.

oierlauzi commented 1 year ago

It seems like a problem specific to the MPI version of the program. I could not replicate it in the non-MPI version. The MPI version uses std::random_device to generate the random seed, which supposedly is non-deterministic according to the STL doc.

oierlauzi commented 1 year ago

After reviewing the documentation, the non-determinism of std::random_device is not guaranteed.