Hi again. I’m trying to use hwloc 1.8 on Windows, Linux and Mac to get the CPU model string (e.g., “Intel(R) Core(TM) i7-3520M CPU @ 2.90GHz”). Since hwloc on different platforms seem to stash this in different objects, I’m using code like this:
String name;
hwloc_obj_type_t objs[] = {
HWLOC_OBJ_MACHINE,
HWLOC_OBJ_SOCKET,
HWLOC_OBJ_CORE,
HWLOC_OBJ_PU, };
for( size_t index = 0; index < (sizeof( objs ) / sizeof( hwloc_obj_type_t )) &&
name.Empty(); ++index )
{
hwloc_obj_t obj = hwloc_get_obj_by_type( topology, objs[ index ], 0 );
if( !obj ) continue;
const char *str = hwloc_obj_get_info_by_name( obj, "CPUModel" );
if( str ) name = String( str ).Trim();
}
On Mac, it works (found string at HWLOC_OBJ_MACHINE), and on Linux it works
(found string at HWLOC_OBJ_SOCKET), but on Windows x64, none of these find the
string. They all return a NULL pointer.
Am I missing something? I tried a few other of the object types, but didn’t
find it with them either (I actually tried looping through all integer values
between 0 and HWLOC_OBJ_TYPE_MAX and it didn’t appear in any of them).
Thank you for any help you can provide.
-robin
Robin Scher
[email protected]
+1 (213) 448-0443
signature.asc
Description: Message signed with OpenPGP using GPGMail
