Open MPI logo

Hardware Locality Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Hardware Locality Development mailing list

Subject: Re: [hwloc-devel] CPU Model and type
From: TERRY DONTJE (terry.dontje_at_[hidden])
Date: 2011-09-13 09:51:51

On 9/13/2011 9:23 AM, Brice Goglin wrote:
> Le 12/09/2011 21:01, Brice Goglin a écrit :
>> Le 09/09/2011 13:25, TERRY DONTJE a écrit :
>>> On 9/8/2011 3:10 PM, Brice Goglin wrote:
>>>> Hello Terry,
>>>> Indeed there's nothing like this as of today. We talked about it in
>>>> the past but it's not very easy to implement on Linux (see below)
>>>> so we forgot about it until somebody complained.
>>>> Adding infos would certainly be fine. I think it should rather be
>>>> "CPUType" and "CPUModel" since existing infos have no underscore in
>>>> their name if I remember correctly. You could also set object->name
>>>> to a combination of type and model. Socket looks like the right
>>>> object to put this. Maybe even use "Model" and "Type" as the info
>>>> names then?
>>>> The reason it's not easy on Linux is that we usually take infos
>>>> from either sysfs, or /proc/cpuinfo if sysfs isn't available, but
>>>> not from both. Processor names are only in /proc/cpuinfo IIRC. So
>>>> we'd need to mix sysfs and /proc/cpuinfo. Not easy with the current
>>>> code, especially if you can't assume that all sockets are similar.
>>>> But definitely something that I will do at some point.
>>>> Brice
>>> The way info objects would be attached to a Socket object I assume
>>> it would be ok to just attach such an object under Solaris but not
>>> not for the other OSes. Since one can look for the named object and
>>> it is either going to be there or not :-).
>>> Anyway, I'll play around with this for Solaris.
>> Looking at the code, you might want to drop hwloc_setup_level() and
>> copy it back into the caller. It will make the addition of info
>> attributes much easier. I am looking at the Linux side.
> I just pushed some code that will make this much easier on Linux (I
> may change the Solaris code similarly when I'll take time to test on a
> real solaris machine).
> Now I have a patch that reads the CPU vendor and model in
> /proc/cpuinfo (x86 only for now) and use them to set Socket info
> attributes (CPUVendor and CPUModel) and name (CPUVendor+CPUModel).
> Before I push this, we need to clarify what we want. You were talking
> about "CPUType" and "CPUModel". Can you give some example of what it
> would look like under Solaris? I want to compare to what I can get on
> Linux.
Both type and model are character strings. An example of what I
currently store in the sysinfo structures are:

type = "SPARC"
model = "SPARC64_VI"

Other values for model are "T1", "T2", "SPARC64_VII"...


> Brice
> _______________________________________________
> hwloc-devel mailing list
> hwloc-devel_at_[hidden]

Terry D. Dontje | Principal Software Engineer
Developer Tools Engineering | +1.781.442.2631
Oracle *- Performance Technologies*
95 Network Drive, Burlington, MA 01803
Email terry.dontje_at_[hidden] <mailto:terry.dontje_at_[hidden]>