Re: [hpx-users] HPX 1.4.0 release candidate 2
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) 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 ./ > > 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 > and call hpx::register_startup_function(::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
Re: [hpx-users] HPX 1.4.0 release candidate 2
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 ./ 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 and call hpx::register_startup_function(::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
Re: [hpx-users] HPX 1.4.0 release candidate 2
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 Thanks - Kevin > On Dec 10, 2019, at 4:33 AM, Hartmut Kaiser wrote: > > Just cc'ing Kevin to make sure this gets the necessary attention... > > Regards Hartmut > --- > http://stellar.cct.lsu.edu > https://github.com/STEllAR-GROUP/hpx > > >> -Original Message- >> From: hpx-users-boun...@stellar.cct.lsu.edu > boun...@stellar.cct.lsu.edu> On Behalf Of Jong, K. de (Kor) >> Sent: Tuesday, December 10, 2019 4:23 AM >> To: hpx-users@stellar.cct.lsu.edu >> Subject: Re: [hpx-users] HPX 1.4.0 release candidate 2 >> >> On 12/6/19 5:28 PM, Simberg Mikael wrote: >>> APEX integration has also >>> been updated and can be enabled with -DHPX_WITH_APEX=ON and >>> -DHPX_WITH_APEX_TAG=develop. The latter option will be unnecessary for >>> the final release. >> >> I am interested in generating traces in OTF2 format to load into Vampir. >> For that I am testing 1.4.0-rc2 with support for APEX and OTF2. >> >> Building HPX with support for APEX works fine, great! I have also built >> OTF2 (version 2.2) and passed in the APEX_WITH_OTF2 flag. I noticed that >> otf2_listener.cpp.o was being built. I have no reason to believe the >> resulting HPX does not have support for APEX+OTF2. Also: >> >> ./fibonacci --hpx:info | grep APEX >> HPX_WITH_APEX=ON >> HPX_WITH_APEX_NO_UPDATE=OFF >> >> When I try this, no trace is printed, though: >> >> APEX_SCREEN_OUTPUT=1 ./fibonacci >> >> When I try this, a trace is printed: >> >> APEX_SCREEN_OUTPUT=1 ./apex_fibonacci >> >> I expected the first command to also print a trace. Is automatic >> instrumentation of HPX with APEX maybe not working yet in 1.4.0-rc2? >> >> Kor >> ___ >> hpx-users mailing list >> hpx-users@stellar.cct.lsu.edu >> https://mail.cct.lsu.edu/mailman/listinfo/hpx-users > > -- 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 ___ hpx-users mailing list hpx-users@stellar.cct.lsu.edu https://mail.cct.lsu.edu/mailman/listinfo/hpx-users
Re: [hpx-users] HPX 1.4.0 release candidate 2
Just cc'ing Kevin to make sure this gets the necessary attention... Regards Hartmut --- http://stellar.cct.lsu.edu https://github.com/STEllAR-GROUP/hpx > -Original Message- > From: hpx-users-boun...@stellar.cct.lsu.edu boun...@stellar.cct.lsu.edu> On Behalf Of Jong, K. de (Kor) > Sent: Tuesday, December 10, 2019 4:23 AM > To: hpx-users@stellar.cct.lsu.edu > Subject: Re: [hpx-users] HPX 1.4.0 release candidate 2 > > On 12/6/19 5:28 PM, Simberg Mikael wrote: > > APEX integration has also > > been updated and can be enabled with -DHPX_WITH_APEX=ON and > > -DHPX_WITH_APEX_TAG=develop. The latter option will be unnecessary for > > the final release. > > I am interested in generating traces in OTF2 format to load into Vampir. > For that I am testing 1.4.0-rc2 with support for APEX and OTF2. > > Building HPX with support for APEX works fine, great! I have also built > OTF2 (version 2.2) and passed in the APEX_WITH_OTF2 flag. I noticed that > otf2_listener.cpp.o was being built. I have no reason to believe the > resulting HPX does not have support for APEX+OTF2. Also: > > ./fibonacci --hpx:info | grep APEX >HPX_WITH_APEX=ON >HPX_WITH_APEX_NO_UPDATE=OFF > > When I try this, no trace is printed, though: > > APEX_SCREEN_OUTPUT=1 ./fibonacci > > When I try this, a trace is printed: > > APEX_SCREEN_OUTPUT=1 ./apex_fibonacci > > I expected the first command to also print a trace. Is automatic > instrumentation of HPX with APEX maybe not working yet in 1.4.0-rc2? > > Kor > ___ > hpx-users mailing list > hpx-users@stellar.cct.lsu.edu > https://mail.cct.lsu.edu/mailman/listinfo/hpx-users ___ hpx-users mailing list hpx-users@stellar.cct.lsu.edu https://mail.cct.lsu.edu/mailman/listinfo/hpx-users
Re: [hpx-users] HPX 1.4.0 release candidate 2
Hi Kor, You'll also want to export APEX_OTF2=1 to actually generate the OTF2 files. It should end up in OTF2_archive/APEX.otf2 in the directory that you run the executable. Let us know if that doesn't work. Also keep in mind that to get meaningful names for your tasks you'll want to annotate them with e.g. hpx::util::annotated_function (wrap your functions at hpx::async/apply callsites). Mikael From: hpx-users-boun...@stellar.cct.lsu.edu on behalf of Jong, K. de (Kor) Sent: Tuesday, December 10, 2019 11:23:12 AM To: hpx-users@stellar.cct.lsu.edu Subject: Re: [hpx-users] HPX 1.4.0 release candidate 2 On 12/6/19 5:28 PM, Simberg Mikael wrote: > APEX integration has also > been updated and can be enabled with -DHPX_WITH_APEX=ON and > -DHPX_WITH_APEX_TAG=develop. The latter option will be unnecessary for > the final release. I am interested in generating traces in OTF2 format to load into Vampir. For that I am testing 1.4.0-rc2 with support for APEX and OTF2. Building HPX with support for APEX works fine, great! I have also built OTF2 (version 2.2) and passed in the APEX_WITH_OTF2 flag. I noticed that otf2_listener.cpp.o was being built. I have no reason to believe the resulting HPX does not have support for APEX+OTF2. Also: ./fibonacci --hpx:info | grep APEX HPX_WITH_APEX=ON HPX_WITH_APEX_NO_UPDATE=OFF When I try this, no trace is printed, though: APEX_SCREEN_OUTPUT=1 ./fibonacci When I try this, a trace is printed: APEX_SCREEN_OUTPUT=1 ./apex_fibonacci I expected the first command to also print a trace. Is automatic instrumentation of HPX with APEX maybe not working yet in 1.4.0-rc2? Kor ___ hpx-users mailing list hpx-users@stellar.cct.lsu.edu https://mail.cct.lsu.edu/mailman/listinfo/hpx-users ___ hpx-users mailing list hpx-users@stellar.cct.lsu.edu https://mail.cct.lsu.edu/mailman/listinfo/hpx-users
Re: [hpx-users] HPX 1.4.0 release candidate 2
On 12/6/19 5:28 PM, Simberg Mikael wrote: > APEX integration has also > been updated and can be enabled with -DHPX_WITH_APEX=ON and > -DHPX_WITH_APEX_TAG=develop. The latter option will be unnecessary for > the final release. I am interested in generating traces in OTF2 format to load into Vampir. For that I am testing 1.4.0-rc2 with support for APEX and OTF2. Building HPX with support for APEX works fine, great! I have also built OTF2 (version 2.2) and passed in the APEX_WITH_OTF2 flag. I noticed that otf2_listener.cpp.o was being built. I have no reason to believe the resulting HPX does not have support for APEX+OTF2. Also: ./fibonacci --hpx:info | grep APEX HPX_WITH_APEX=ON HPX_WITH_APEX_NO_UPDATE=OFF When I try this, no trace is printed, though: APEX_SCREEN_OUTPUT=1 ./fibonacci When I try this, a trace is printed: APEX_SCREEN_OUTPUT=1 ./apex_fibonacci I expected the first command to also print a trace. Is automatic instrumentation of HPX with APEX maybe not working yet in 1.4.0-rc2? Kor ___ hpx-users mailing list hpx-users@stellar.cct.lsu.edu https://mail.cct.lsu.edu/mailman/listinfo/hpx-users
[hpx-users] HPX 1.4.0 release candidate 2
The second release candidate of the 1.4.0 release is now available. Please get it by cloning the 1.4.0-rc2 tag or by downloading it from GitHub: https://github.com/STEllAR-GROUP/hpx/releases/tag/1.4.0-rc2. Since the previous release candidate we have fixed multiple build and configuration issues. In addition you can now enable the hpxMP option by passing -DHPX_WITH_HPXMP=ON as a CMake option. APEX integration has also been updated and can be enabled with -DHPX_WITH_APEX=ON and -DHPX_WITH_APEX_TAG=develop. The latter option will be unnecessary for the final release. As usual please let us know about any issues that you encounter! ___ hpx-users mailing list hpx-users@stellar.cct.lsu.edu https://mail.cct.lsu.edu/mailman/listinfo/hpx-users