hpx icon indicating copy to clipboard operation
hpx copied to clipboard

Annotated subroutines don't show up in OTF2 traces when executed by IO_pool_executor

Open Junxian-FZJ opened this issue 5 months ago • 1 comments

Description of issue: Using APEX (develop branch) with HPX (version 1.10.0, build_type=RelWithDebInfo), generated OTF2 trace does not capture subroutine/function executed by "io_pool_executor".

Relevant software used to build HPX:

  1. GCC, ver. 13.3.0
  2. hwloc, ver. 2.10.0
  3. OpenMPI, ver. 5.0.5
  4. Boost, ver. 1.86.0
  5. jemalloc, ver. 5.3.0
  6. OTF2, ver. 3.1
  7. PAPI, ver. 7.1.0

HPX configuration options: CMAKE_BUILD_TYPE=RelWithDebInfo CMAKE_POLICY_VERSION_MINIMUM=3.5 CMAKE_CXX_COMPILER=g++ HPX_WITH_PAPI=TRUE HPX_WITH_FETCH_APEX=TRUE HPX_WITH_APEX=TRUE HPX_WITH_APEX_TAG=develop HPX_WITH_PARCELPORT_ACTION_COUNTERS=TRUE HPX_WITH_THREAD_IDLE_RATES=TRUE HPX_WITH_MALLOC=jemalloc HPX_WITH_HWLOC=TRUE HPX_WITH_NETWORKING=TRUE HPX_WITH_PARCELPORT_TCP=FALSE HPX_WITH_PARCELPORT_MPI=TRUE HPX_WITH_TESTS=FALSE HPX_WITH_EXAMPLES=TRUE HPX_WITH_MAX_CPU_COUNT=256 HPX_WITH_FETCH_ASIO=TRUE HPX_WITH_CUDA=TRUE APEX_WITH_CUDA=TRUE APEX_WITH_OTF2=TRUE OTF2_ROOT=...

Compilation & execution of example program:

  1. mkdir build && cd build && cmake ..
  2. cmake --build .
  3. export APEX_OTF2=1
  4. execution can be done on any number of locality and expected os_threads.

Comments: The relevant line in the source code is line 38 and 39. Provided source code is missing "internal_print" annotation. Commenting line 39 and uncommenting line 38 should provide a trace with "internal_print" shown.

Source code: IO_MWE.tar.gz

Vampir results:

  1. Not using IO_pool_executor Image

  2. with IO_pool_executor Image

Junxian-FZJ avatar Jul 03 '25 10:07 Junxian-FZJ

This is a question for @khuck, he may be able to look into this.

hkaiser avatar Jul 03 '25 12:07 hkaiser