Hi Jeff,
I'm interested in joining the effort, since we will likely have the same
problem with SLURM's cpuset support.
On Wed, 22 Jul 2009, Jeff Squyres wrote:
But as to why it's getting EINVAL, that could be wonky. We might want to
take this to the PLPA list and have you run some small, non-MPI examples to
ensure that PLPA is parsing your /sys tree properly, etc.
I don't see the /sys implication here. Can you be more precise on which
files are read to determine placement ?
IIRC, when you are inside a cpuset, you can see all cpus (/sys should be
unmodified) but calling set_schedaffinity with a mask containing a cpu
outside the cpuset will return EINVAL. The only solution I see to solve
this would be to get the "allowed" cpus with sched_getaffinity,
which should be set according to the cpuset mask.
Sylvain