Now the number of cpus is always the max available: num_cpus = os.cpu_count() which can cause memory issues.
Give the user the flexibility to specify the number of processes/cpu's.
This argument must be specified whenever use_mp is present, the default is the os.cpu_count()