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
kh...@cs.uoregon.edu
http://tau.uoregon.edu


> On Dec 11, 2019, at 2:31 AM, Jong, K. de (Kor) <k.dejo...@uu.nl> 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
hpx-users@stellar.cct.lsu.edu
https://mail.cct.lsu.edu/mailman/listinfo/hpx-users

Reply via email to