The option --use-cpus-instead-of-cores causes Parallel to count the number of physical sockets on the machine instead of what some might call the number of physical CPUs (what lscpu calls "cores" -- there is varied use of terminology out there). Without this option, as expected, Parallel counts the number of CPUs, virtual or not (what lscpu calls "CPUs"). If these are the intended behaviors, disregard below.
It seems the intention of this option was to only allow using up to the number of CPUs with independent resources (i.e., disregard virtual CPU technologies like hyperthreading). I think then the number of CPUs should be determined as the number of physical cores on each socket times the number of sockets, like `lscpu -p | egrep -v '^#' | sort -u -t, -k 2,4 | wc -l` [1]. If so, it seems there is an easy fix for GNU/Linux; a patch to do so is attached. -- Joe Sapp [1] https://stackoverflow.com/a/23378780/610375
00-phys-cpu-not-sockets.patch
Description: Binary data
