Note from THE FUTURE about PDL parallel processing:
In 1998, PDL version v1.99987, there was extremely basic support for POSIX threading
In 2011, John Cerney added PDL::ParallelCPU and the machinery for doing "broadcasting" (then, confusingly, called "threading") to "pthread" over a specified number of CPUs/cores, first released with 2.4.10
In 2021, 2.058 added the ability for this to take place over ndarrays with dimensions not exactly divisible by the given number of cores
2.059 then added a default value for the number of cores as the available number of cores at program startup (found using code lifted from git)