Software Archive
Read-only legacy content
17061 Discussions

Issues using micnativeloadex for cross-compiled hwloc on MIC

Jake_C_
Beginner
325 Views

Hello all,

I have been having trouble getting hwloc to run natively on the MIC. Specifically, it seems that necessary dependencies (such as libimf.so) are not being found.

First of all, /install is an NFS drive mounted by the MICs. Before beginning, I set my compiler variables, as well as exported the SINK_LD_LIBRARY_PATH as:

# export SINK_LD_LIBRARY_PATH=/opt/intel/compilers_and_libraries_2017.1.132/linux/compiler/lib/mic/

I have downloaded the hwloc git repo, run:

# cd hwloc/

# ./autogen.sh

# ./configure CC="icc --mmic" --host=x86_64-k1om-linux --build=x86_64-unknown-linux-gnu --prefix=/install

When I run make and make install, I get 

x86_64-k1om-linux-ld: warning: libimf.so, needed by /home/caswell/hwloc/hwloc/.libs/libhwloc.so, not found (try using -rpath or -rpath-link)
x86_64-k1om-linux-ld: warning: libsvml.so, needed by /home/caswell/hwloc/hwloc/.libs/libhwloc.so, not found (try using -rpath or -rpath-link)
x86_64-k1om-linux-ld: warning: libirng.so, needed by /home/caswell/hwloc/hwloc/.libs/libhwloc.so, not found (try using -rpath or -rpath-link)
x86_64-k1om-linux-ld: warning: libintlc.so.5, needed by /home/caswell/hwloc/hwloc/.libs/libhwloc.so, not found (try using -rpath or -rpath-link)
(It repeats this for a few different packages in hwloc). 
 
Then, if I try to run:
# micnativeloadex /install/bin/hwloc-ls -l
I get the following output:
Dependency information for /install/bin/hwloc-ls
 
        Full path was resolved as
        /install/bin/hwloc-ls
 
        Binary was built for Intel(R) Xeon Phi(TM) Coprocessor
        (codename: Knights Corner) architecture
 
        SINK_LD_LIBRARY_PATH = /opt/intel/compilers_and_libraries_2017.1.132/linux/compiler/lib/mic
 
        Dependencies Found:
                (none found)
 
        Dependencies Not Found Locally (but may exist already on the coprocessor):
                libhwloc.so.0
                libm.so.6
                libgcc_s.so.1
                lib.c.so.6
                libdl.so.2
 
If my SINK_LD_LIBRARY_PATH is set, and the packages are located in /opt/intel/compilers_and_libraries_2017.1.132/linux/compiler/lib/mic, what could be causing the linking issues? 
 
Thank you very much for your time,
Jake
0 Kudos
1 Reply
Lawrence_M_Intel
Employee
325 Views

You can get rid of the need for the shared intel objects by creating your libhwloc.so with -static-intel (if you're using icc to link).

In the second part micnativeloadex can't find libhwloc.so.0 . Did you install that in the compiler lib directory? Or is it somewhere else? If it is somewhere else then you need to add that path to SINK_LD_LIBRARY_PATH .

Did you try to run it truly natively by logging into the card and just setting LD_LIBRARY_PATH to the location on the card?

Thanks

-- Larry

 

 

 

 

0 Kudos
Reply