[Openmp-commits] [PATCH] Allow machine hierarchy expansion
Hal Finkel
hfinkel at anl.gov
Mon Jun 1 06:00:43 PDT 2015
----- Original Message -----
> From: "Terry L Wilmarth" <terry.l.wilmarth at intel.com>
> To: reviews+D9900+public+a0ab28293505a533 at reviews.llvm.org, "Jonathan L Peyton" <jonathan.l.peyton at intel.com>
> Cc: openmp-commits at dcs-maillist2.engr.illinois.edu
> Sent: Thursday, May 28, 2015 11:07:21 AM
> Subject: Re: [Openmp-commits] [PATCH] Allow machine hierarchy expansion
>
> It does represent the machine hierarchy, when there is no
> oversubscription, but it is actually used as a way to map existing
> threads to the machine hierarchy for the purpose of performing a
> barrier. Adding a level when oversubscribed simply adds more tree
> structure for all the additional threads to communicate along. One
> additional level duplicates the existing hierarchy as a second child
> of a new root, doubling the number of threads that the barrier can
> handle.
Okay; please add a comment explaining this; the current definition of maxLevels says:
/** Typical levels are threads/core, cores/package or socket, packages/node, nodes/machine,
etc. We don't want to get specific with nomenclature */
static const kmp_uint32 maxLevels=7;
and this gives no indication at all of how this might need to be set to handle oversubscription. There are a few comments like this:
// Fill in hierarchy in the case of oversubscription
for (kmp_uint32 i=depth; i<maxLevels; ++i)
skipPerLevel[i] = 2*skipPerLevel[i-1];
but that does not really explain what is going on.
-Hal
>
> -----Original Message-----
> From: hfinkel at anl.gov [mailto:hfinkel at anl.gov]
> Sent: Wednesday, May 27, 2015 1:16 PM
> To: Peyton, Jonathan L; hfinkel at anl.gov
> Cc: Wilmarth, Terry L; llvm-commits at cs.uiuc.edu;
> openmp-commits at dcs-maillist2.engr.illinois.edu
> Subject: Re: [PATCH] Allow machine hierarchy expansion
>
> In http://reviews.llvm.org/D9900#178569, @tlwilmar wrote:
>
> > Oversubscription. There's nothing to prevent the user from
> > requesting an arbitrarily large number of threads.
>
>
> But I thought that the machine hierarchy information represented the
> physical properties of the machine (cpus, cores, sockets, etc.). How
> does oversubscription factor into this? And how does that affect the
> number of levels?
>
>
> REPOSITORY
> rL LLVM
>
> http://reviews.llvm.org/D9900
>
> EMAIL PREFERENCES
> http://reviews.llvm.org/settings/panel/emailpreferences/
>
>
>
> _______________________________________________
> Openmp-commits mailing list
> Openmp-commits at dcs-maillist2.engr.illinois.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/openmp-commits
>
--
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory
More information about the Openmp-commits
mailing list