I am trying to use hwloc on a Blue Gene/Q. Building and installing worked
fine, and it reports the system configuration fine as well (i.e. it shows
all PUs). However, when I try to inquire the thread/core bindings, hwloc
crashes with an error in libc's free(). This is both with 1.6 and 1.6.1rc1.
The error occurs apparently in CPU_FREE called from
hwloc_linux_find_kernel_nr_cpus.
Does this ring a bell with anyone? I know this is not enough information to
debug things, but do you have any pointers for things to look at?
I remember reading somewhere that the last bit in a cpu_set_t cannot be
used. A Blue Gene/Q has 64 PUs, and may be using 64-bit integers to hold
cpu_set_t data. Could this be an issue?
My goal is to examine and experiment with thread/core bindings with OpenMP
to improve performance.
-erik
--
Erik Schnetter <schnetter_at_[hidden]>
http://www.perimeterinstitute.ca/personal/eschnetter/
|