Kor - Ah, I see now. No, step 2 shouldn’t be necessary. Can you provide some more information about your build environment (OS, architecture, compiler, compiler version) and which HPX commit tag you are working with? When you build your application, do you use cmake or configure with pkg-config? It’s possible that your linker is not adding libhpx_apex.so from the HPX configuration output. In addition, can you submit an issue for this on github? We haven’t seen this problem in our tests, but I can see how it might happen.
Thanks! Kevin -- Kevin Huck, PhD Research Associate / Computer Scientist OACISS - Oregon Advanced Computing Institute for Science and Society University of Oregon [email protected] http://tau.uoregon.edu > On Dec 11, 2019, at 2:31 AM, Jong, K. de (Kor) <[email protected]> wrote: > > On 12/10/19 4:37 PM, Kevin Huck wrote: >> In order to collect and write the OTF2 trace, please set the environment >> variable APEX_OTF2=1. For example: >> >> export APEX_OTF2=1 >> ./apex_fibonacci >> >> or >> >> APEX_OTF2=1 ./apex_fibonacci > > Yes, that works fine. Maybe I am wrong, but I think this also used to work: > > APEX_OTF2=1 ./<my_hpx_program> > > without explicitly instrumenting my_hpx_program code with APEX calls. > This currently does not work though. > > I figured out that to get an APEX trace I have to include <apex_api.hpp> > and call hpx::register_startup_function(&apex::print_options), before > calling hpx::init. (Only) than my hpx program dumps a trace. I am happy > with that. I can now analyze the trace. My point is that I am pretty > sure that before 1.4.0 I did not have to change my code to get a > (default) trace from APEX. > > This example from the APEX doc does not work with 1.4.0-rc2: > > APEX_SCREEN_OUTPUT=1 ./fibonacci > > No trace is printed to the screen. Also, except for apex_fibonacci, non > of the hpx examples is linked to libhpx_apex.so. In the case of > my_hpx_program, the binary is linked to libhpx_apex.so only when I > explicitly call an APEX api function. Before that it isn't linked to > libhpx_apex.so. > > To generate a minimal/default APEX trace from an HPX program its seems > these are the steps: > 1. Build HPX with support for APEX > 2. Call an APEX api function to make the program link to libhpx_apex.so > 3. Generate trace > > Is step 2 really necessary? Is there a better way to trigger the link to > libhpx_apex.so? > > Kor
_______________________________________________ hpx-users mailing list [email protected] https://mail.cct.lsu.edu/mailman/listinfo/hpx-users
