You likely need to compile and install another hwloc instance for your MIC. I don't know where you're supposed to install this MIC library so that the MIC compiler finds it.

If your host home is available on the MIC just install the MIC-hwloc somewhere in your home and have the MIC-compiler use this one for CFLAGS and LDFLAGS.

It looks like /opt/intel/mic/filesystem/base/ on the host contains the MIC filesystem, so you could theorically install there. But I guess you don't want to modify this special filesystem unless really really sure of what you are doing.

Please let us know how it goes, in case we have to document something.


Le 18/06/2013 10:40, pinak panigrahi a écrit :
I am trying to implement and improve performance of some MPI Collectives based on affinity of the theads/processes. Hence, I am using hwloc to find out about the topology,etc. I have written and built my codes for Sandybridge. But when I compile the same for MIC, it gives me an error : hwloc.h not found.

On Tue, Jun 18, 2013 at 12:37 PM, Brice Goglin <> wrote:
Le 18/06/2013 08:52, pinak panigrahi a écrit :
> Hi, how do I use hwloc on Intel Xeon Phi. I have written codes that
> use it for Sandybridge.


If you really mean 'inside the Xeon Phi", it should just work and report
all available Phi cores.

If you mean managing the Phi internal topology from the host, it's a bit
harder, we currently only report the Phi location within the host.

What did you try, what didn't work, and what would you like to do exactly?


Pinak Panigrahi
pursuing Masters in Computer Science
at Sri Sathya Sai Institute Of Higher Learning,
Puttaparti, India.

"Thank God for what you have, Trust Him for what you need !"