Mm, i'm not sure. Suppose this:

$pragma omp parallel num_thread(1)
{
hwloc_set_cpubind(*topology, set,  HWLOC_CPUBIND_THREAD |
HWLOC_CPUBIND_STRICT |   HWLOC_CPUBIND_NOMEMBIND);
}

is equivalent to?

$pragma omp parallel num_thread(1)
{
hwloc_set_cpubind(*topology, set,  HWLOC_CPUBIND_THREAD);
hwloc_set_cpubind(*topology, set, HWLOC_CPUBIND_STRICT);
hwloc_set_cpubind(*topology, set, HWLOC_CPUBIND_NOMEMBIND);

}


You said HWLOC_CPUBIND_STRICT bind process and memory. Why also the memory?
It should strictly design which CPU will assigned to a process/thread, or
does more?

2011/8/2 Samuel Thibault <samuel.thiba...@inria.fr>

> Gabriele Fatigati, le Tue 02 Aug 2011 16:23:12 +0200, a écrit :
> > hwloc_set_cpubind(*topology, set,  HWLOC_CPUBIND_THREAD |
> HWLOC_CPUBIND_STRICT
> > |   HWLOC_CPUBIND_NOMEMBIND);
> >
> > is it possible do multiple call to hwloc_set_cpubind passing each flag
> per
> > time?
> >
> > hwloc_set_cpubind(*topology, set,  HWLOC_CPUBIND_THREAD);
> > hwloc_set_cpubind(*topology, set, HWLOC_CPUBIND_STRICT);
> > hwloc_set_cpubind(*topology, set, HWLOC_CPUBIND_NOMEMBIND);
> >
> > or only the last have effect?
>
> Err, it will simply do the three operations, i.e. first bind the current
> thread and memory, then strictly bind the whole process and memory, and
> eventually bind the process but not memory (but it will still bound
> since it was by the second call).
>
> Samuel
> _______________________________________________
> hwloc-users mailing list
> hwloc-us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-users
>



-- 
Ing. Gabriele Fatigati

Parallel programmer

CINECA Systems & Tecnologies Department

Supercomputing Group

Via Magnanelli 6/3, Casalecchio di Reno (BO) Italy

www.cineca.it                    Tel:   +39 051 6171722

g.fatigati [AT] cineca.it

Reply via email to