parsec icon indicating copy to clipboard operation
parsec copied to clipboard

Thread binding unsuccessful even with Hwloc

Open josephjohnjj opened this issue 1 year ago • 1 comments

Describe the bug

Binding communication thread is unsuccessful.


^[[1;37;43mW@00003^[[0m Request to bind the communication thread on core 23 failed.
^[[1;37;43mW@00000^[[0m Request to bind the communication thread on core 23 failed.
^[[1;37;43mW@00000^[[0m /!\ DEBUG LEVEL WILL PROBABLY REDUCE THE PERFORMANCE OF THIS RUN /!\.
^[[1;37;43mW@00002^[[0m Request to bind the communication thread on core 23 failed.
^[[1;37;43mW@00001^[[0m Request to bind the communication thread on core 23 failed.

Even when HWLoc is found successfully.

-- Found HWLOC: /usr/lib64/libhwloc.so  
-- Performing Test PARSEC_HAVE_HWLOC_PARENT_MEMBER
-- Performing Test PARSEC_HAVE_HWLOC_PARENT_MEMBER - Success
-- Performing Test PARSEC_HAVE_HWLOC_CACHE_ATTR
-- Performing Test PARSEC_HAVE_HWLOC_CACHE_ATTR - Success
-- Performing Test PARSEC_HAVE_HWLOC_OBJ_PU
-- Performing Test PARSEC_HAVE_HWLOC_OBJ_PU - Success
-- Looking for hwloc_bitmap_free in /usr/lib64/libhwloc.so
-- Looking for hwloc_bitmap_free in /usr/lib64/libhwloc.so - found
-- Performing Test MPI_AND_HWLOC_COMPATIBLE
-- Performing Test MPI_AND_HWLOC_COMPATIBLE - Success

Moreover, the unsuccessful binding only reported in debug mode and not in performance mode

To Reproduce

Steps to reproduce the behavior:

  1. Try binding using --parsec_bind_comm

Expected behaviour

  1. Binding should be successful.
  2. Unsuccessful binding should be reported in performance mode as well.

Additional context

grep -i hwloc CMakeCache.txt
//HWLOC includes
HWLOC_INCLUDE_DIR:PATH=/usr/include
//Where the HWLOC libraries are
HWLOC_LIBRARY:FILEPATH=/usr/lib64/libhwloc.so
PARSEC_MPI_HWLOC_INCLUDE_DIR:PATH=PARSEC_MPI_HWLOC_INCLUDE_DIR-NOTFOUND
pkgcfg_lib_PC_HWLOC_hwloc:FILEPATH=/usr/lib64/libhwloc.so
//Details about finding HWLOC
FIND_PACKAGE_MESSAGE_DETAILS_HWLOC:INTERNAL=[/usr/lib64/libhwloc.so][/usr/include][v()]
//Test MPI_AND_HWLOC_COMPATIBLE
MPI_AND_HWLOC_COMPATIBLE:INTERNAL=1
MPI_AND_HWLOC_COMPATIBLE_COMPILED:INTERNAL=TRUE
MPI_AND_HWLOC_COMPATIBLE_EXITCODE:INTERNAL=0
//Have library /usr/lib64/libhwloc.so
PARSEC_HAVE_HWLOC_BITMAP:INTERNAL=1
//Test PARSEC_HAVE_HWLOC_CACHE_ATTR
PARSEC_HAVE_HWLOC_CACHE_ATTR:INTERNAL=1
//Test PARSEC_HAVE_HWLOC_OBJ_PU
PARSEC_HAVE_HWLOC_OBJ_PU:INTERNAL=1
//Test PARSEC_HAVE_HWLOC_PARENT_MEMBER
PARSEC_HAVE_HWLOC_PARENT_MEMBER:INTERNAL=1
PC_HWLOC_CFLAGS:INTERNAL=
PC_HWLOC_CFLAGS_I:INTERNAL=
PC_HWLOC_CFLAGS_OTHER:INTERNAL=
PC_HWLOC_FOUND:INTERNAL=1
PC_HWLOC_INCLUDEDIR:INTERNAL=/usr/include
PC_HWLOC_INCLUDE_DIRS:INTERNAL=
PC_HWLOC_LDFLAGS:INTERNAL=-L/usr/lib64;-lhwloc
PC_HWLOC_LDFLAGS_OTHER:INTERNAL=
PC_HWLOC_LIBDIR:INTERNAL=/usr/lib64
PC_HWLOC_LIBRARIES:INTERNAL=hwloc
PC_HWLOC_LIBRARY_DIRS:INTERNAL=/usr/lib64
PC_HWLOC_LIBS:INTERNAL=
PC_HWLOC_LIBS_L:INTERNAL=
PC_HWLOC_LIBS_OTHER:INTERNAL=
PC_HWLOC_LIBS_PATHS:INTERNAL=
PC_HWLOC_MODULE_NAME:INTERNAL=hwloc
PC_HWLOC_PREFIX:INTERNAL=/usr
PC_HWLOC_STATIC_CFLAGS:INTERNAL=
PC_HWLOC_STATIC_CFLAGS_I:INTERNAL=
PC_HWLOC_STATIC_CFLAGS_OTHER:INTERNAL=
PC_HWLOC_STATIC_INCLUDE_DIRS:INTERNAL=
PC_HWLOC_STATIC_LDFLAGS:INTERNAL=-L/usr/lib64;-lhwloc;-lm;-ldl;-lpthread
PC_HWLOC_STATIC_LDFLAGS_OTHER:INTERNAL=
PC_HWLOC_STATIC_LIBDIR:INTERNAL=
PC_HWLOC_STATIC_LIBRARIES:INTERNAL=hwloc;m;dl;pthread
PC_HWLOC_STATIC_LIBRARY_DIRS:INTERNAL=/usr/lib64
PC_HWLOC_STATIC_LIBS:INTERNAL=
PC_HWLOC_STATIC_LIBS_L:INTERNAL=
PC_HWLOC_STATIC_LIBS_OTHER:INTERNAL=
PC_HWLOC_STATIC_LIBS_PATHS:INTERNAL=
PC_HWLOC_VERSION:INTERNAL=2.2.0
PC_HWLOC_hwloc_INCLUDEDIR:INTERNAL=
PC_HWLOC_hwloc_LIBDIR:INTERNAL=
PC_HWLOC_hwloc_PREFIX:INTERNAL=
PC_HWLOC_hwloc_VERSION:INTERNAL=
__pkg_config_arguments_PC_HWLOC:INTERNAL=QUIET;hwloc
__pkg_config_checked_PC_HWLOC:INTERNAL=1
//ADVANCED property for variable: pkgcfg_lib_PC_HWLOC_hwloc
pkgcfg_lib_PC_HWLOC_hwloc-ADVANCED:INTERNAL=1

josephjohnjj avatar Mar 20 '23 22:03 josephjohnjj