On May 19, 2009, at 11:00 AM, Julien Jomier wrote:
Bill Hoffman wrote:
Bill,
I am tearing apart the ParseSysCtl() method at the moment. CMake
does not have to Fork a process to get the sysctl values, you
can call
them directly using sysctlbyname(..) method. I am currently
doing this
for all the values. I have a few G4 boxes, a Core 2 Duo MacBook
Pro
and a new Xeon to test with. I am going to try and find a G5 to
get
some sysctl logs from so I can try an tell the difference
between the
G4 boxes and the G5 boxes.
I just made any value having to do with memory a long long
unsigned
I don't see why. In GB we are not going to have long long worth
of them,
and it won't work on a 32 bit machine will it?
On my OS X 10.5.7 32 bit version I can ask for the total amount of
ram
and get back a 64 bit number just fine. Same deal on my Xeon box at
work. As long as the pointer that is being passed to sysctlbyname is
the address to a 64 bit value it seems to work just fine. Of
course I
am only thinking of OS X and forgetting about the rest of the world
;-). I'll change the values back to longs and do the math to report
the memory results in GB which, as you mentioned, negates the need
for
the long long variables.
Also what exactly is meant by the following:
GetLogicalProcessorsPerPhysical
GetNumberOfLogicalCPU
GetNumberOfPhysicalCPU
Could you tell me what the results of those would be for the
following
conditions:
I think it means this:
Quad Core, NON Hyperthreaded CPU.
GetLogicalProcessorsPerPhysical = 1
GetNumberOfLogicalCPU = 4
GetNumberOfPhysicalCPU = 4
Quad Core, HyperThreaded CPU.
GetLogicalProcessorsPerPhysical = 2
GetNumberOfLogicalCPU = 8
GetNumberOfPhysicalCPU = 4
On OS X I can get the 'number of packages" and cores_per_package,
and
some other stuff but I am not sure those fit correctly into the
values
from above.
Take a guess...
Julien, you did the original process information stuff, do you have
anything to add to this?
Yes, that's exactly it. I think we need to modify the wording and
change CDash to report these numbers in a better way. Something
like: 'total number of cores' and 'total number of logical CPUs'. We
don't really need to display the ratio.
There is a bug report on the CDash bug tracker related to MacOS
system information. I'll see what I can do when we rework this part
of CTest/CDash.
Julien
Ok. Some hacking around and this is the output that I am getting on my
Xeon Workstation now. And also there is still some discussion on what
exactly is meant by "Is64Bits". Julien, can you comment on that?
GetOSName: Darwin
GetHostname: Ferb.local
GetOSRelease: 9.7.0
GetOSVersion: Darwin Kernel Version 9.7.0: Tue Mar 31 22:52:17 PDT
2009; root:xnu-1228.12.14~1/RELEASE_I386
GetOSPlatform: i386
GetVendorString: GenuineIntel
GetVendorID: Intel Corporation
GetTypeID: 0
GetFamilyID: 6
GetModelID: 26
GetExtendedProcessorName: Intel(R) Xeon(R) CPU X5550 @
2.67GHz
GetProcessorSerialNumber:
GetProcessorCacheSize: 32768 KB
GetLogicalProcessorsPerPhysical: 8
GetProcessorClockFrequency: 2659 MHz
Is64Bits: 0
GetNumberOfLogicalCPU: 16
GetNumberOfPhysicalCPU: 8
DoesCPUSupportCPUID: 0
GetProcessorAPICID: 0
GetTotalVirtualMemory: 268 MB
GetAvailableVirtualMemory: 83 MB
GetTotalPhysicalMemory: 6442 MB
GetAvailablePhysicalMemory: 4617 MB
Here is from an ancient 533MHz PPC G4 machine:
GetOSName: Darwin
GetHostname: Echo1.local
GetOSRelease: 8.11.0
GetOSVersion: Darwin Kernel Version 8.11.0: Wed Oct 10 18:26:00 PDT
2007; root:xnu-792.24.17~1/RELEASE_PPC
GetOSPlatform: Power Macintosh
GetVendorString: IBM
GetVendorID: IBM
GetTypeID: 0
GetFamilyID: 18
GetModelID: 10
GetExtendedProcessorName:
GetProcessorSerialNumber:
GetProcessorCacheSize: 32768 KB
GetLogicalProcessorsPerPhysical: 1
GetProcessorClockFrequency: 533 MHz
Is64Bits: 0
GetNumberOfLogicalCPU: 1
GetNumberOfPhysicalCPU: 1
DoesCPUSupportCPUID: 0
GetProcessorAPICID: 0
GetTotalVirtualMemory: 67 MB
GetAvailableVirtualMemory: 56 MB
GetTotalPhysicalMemory: 1207 MB
GetAvailablePhysicalMemory: 653 MB
I would like to find someone with a G5 to test this on..
Here is a MacBook Pro (Mid 2008 Release):
GetOSName: Darwin
GetHostname: Shepard.local
GetOSRelease: 9.6.0
GetOSVersion: Darwin Kernel Version 9.6.0: Mon Nov 24 17:37:00 PST
2008; root:xnu-1228.9.59~1/RELEASE_I386
GetOSPlatform: i386
GetVendorString: GenuineIntel
GetVendorID: Intel Corporation
GetTypeID: 0
GetFamilyID: 6
GetModelID: 23
GetExtendedProcessorName: Intel(R) Core(TM)2 Duo CPU T9500 @
2.60GHz
GetProcessorSerialNumber:
GetProcessorCacheSize: 32768 KB
GetLogicalProcessorsPerPhysical: 2
GetProcessorClockFrequency: 2600 MHz
Is64Bits: 0
GetNumberOfLogicalCPU: 2
GetNumberOfPhysicalCPU: 2
DoesCPUSupportCPUID: 0
GetProcessorAPICID: 0
GetTotalVirtualMemory: 536 MB
GetAvailableVirtualMemory: 100 MB
GetTotalPhysicalMemory: 2147 MB
GetAvailablePhysicalMemory: 1391 MB
Mike Jackson
_______________________________________________
Boost-cmake mailing list
Boost-cmake@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-cmake