My considerations are:

* The easiest-to-remember and shortest-to-write query (e.g. 'numCores') 
should return something that's suitable for a beginning Chapel 
programmer to use. Perhaps something that gives reasonable performance 
in most cases. I think that implies physical cores?

* If both "physical" and "logical" queries are provided, they should 
match when hyperthreading is not available. In other words, perhaps 
obviously, they need to reflect availability during the current program 
run, not what might potentially be available.

* I imagine it would be beneficial for an advanced programmer to be able 
to launch tasks explicitly over physical cores vs. over logical cores. 
This perhaps belongs in the domain of hierarchical locales.

Vass

On 05/09/14 13:19, Ben Harshbarger wrote:
> Hi all,
>
> I ran into an issue with hyper threading on OSX this morning, and after a
> discussion with Brad some questions were posed that seem better suited for
> a group discussion.
>
> Currently numCores (at least on linux) includes the count for
> hyper-threading. This introduces some ambiguity in the meaning of
> ‘here.numCores’ (physical vs. logical), and raises some questions:
>    - What should numCores represent?
>    - Should we separate the notion of physical cores and the amount of
> parallelism in hardware (new variable/name)?
>    - What does this mean for dataParTasksPerLocale?
>
> Hopefully this gets the ball rolling.
>
> -Ben

------------------------------------------------------------------------------
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
• 3 signs your SCM is hindering your productivity
• Requirements for releasing software faster
• Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce
_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers

Reply via email to