I will add PDL to the list in MCE, MCE::Child, and MCE::Hobo.
# Set the seed of the base generator uniquely between workers.
# The new seed is computed using the current seed and $_wid value.
# One may set the seed at the application level for predictable
# results (non-thread workers only). Ditto for PDL, Math::Prime::Util,
# Math::Random, and Math::Random::MT::Auto.
if ( !$self->{use_threads} ) {
my $_wid = $_args[1];
my $_seed = abs($self->{_seed} - ($_wid * 100000)) % 2147483560;
CORE::srand($_seed);
# PDL 2.062 ~ 2.089
PDL::srand($_seed) if $INC{'PDL.pm'} && PDL->can('srand');
# PDL 2.089_01+
PDL::srandom($_seed) if $INC{'PDL.pm'} && PDL->can('srandom');
...
}
This resolves calling PDL->random at the application level and expecting repeatable results.