host_micpower disabled

Open discussion of PAPI.

host_micpower disabled

Postby sameer_asal » Wed May 14, 2014 8:38 pm

Hello ,

I am trying to use PAPI to measure power draw on guest MIC card so I built papi with support for host_micpower confugured:
Code: Select all
  ./configure  --with-components="host_micpower rapl" --prefix=/installation/path/papi_MIC_5.3_mic_host
make
make install-all


I also added RAPL because I need to do some host side side measurement as well.

The library compiles and builds fine, however, doing ./papi_component_avail to check my components I have I get:
Code: Select all
Name:   host_micpower           A host-side component to read power usage on MIC guest cards.
   \-> Disabled: Problem loading libMicAccessSDK.so: /usr/lib64/libMicAccessSDK.so: undefined symbol: odmDbg


Anybody faced a similar problem ? where is this symbol "odmDbg" supposed to be defined anyway ?
sameer_asal
 
Posts: 7
Joined: Mon May 12, 2014 11:10 pm

Re: host_micpower disabled

Postby sameer_asal » Fri May 16, 2014 4:55 pm

So after some tinkering I managed to solve this problem, turns out the missing symbol odmDbg is defined in the shared object called "libODMDebug.so".

Code: Select all
 objdump  -T ./libODMDebug.so.0.0.1 | grep odmDbg gives:
00000032ea203408 g    DO .data  0000000000000008  Base        odmDbg


And it is undefined in libMicAccessSdk.so

Code: Select all
 bjdump  -T ./libMicAccessSDK.so | grep odmDbg
0000000000000000      D  *UND*  0000000000000000              odmDbg




Now the curious thing is that doing
Code: Select all
 ldd libMicAccessSDK.so
doesn't list "libODMDebug.so" as a dependency, I still don't know why.

So I had to modify the file components/host_micpower/linux-host_micpower.c to add a dlopen to this missing lib.

Code: Select all
 odmd_access = dlopen("libODMDebug.so", RTLD_NOW | RTLD_GLOBAL);
    if (NULL == odmd_access)
    {
        snprintf(_host_micpower_vector.cmp_info.disabled_reason, PAPI_MAX_STR_LEN, "Problem loading libODMDebug.so: %s\n", dlerror());
                        _host_micpower_vector.cmp_info.disabled = 1;
        return ( PAPI_ENOSUPP );
    }


If anybody faces a similar problem I can attach the whole file.

This is based on PAPI 5.3.
sameer_asal
 
Posts: 7
Joined: Mon May 12, 2014 11:10 pm


Return to General discussion (read-only)

Who is online

Users browsing this forum: No registered users and 2 guests

cron