Hartmut, i rebuild hpx per your instructions and rebuild my own code. Now when i run it in VTune i get only function names based on hpx, boost and some other modules but none from my own code.
The function that takes the longest (187ms CPU Time) is boost::detail::spinlock::lock with first element of the callstack: hpx::threads::set_thread_lco_description, which looks to me like a intern hpx lock to setup the worker threads? I want to use VTune to find out why my code that computes streamlines in hpx tasks runs slower (Time is taken from creating the integration tasks until all tasks are finished) when i am giving hpx more threads to work on (Number threads is smaller/equal the number of cores on my system). I use one std::lock_guard<hpx::lcos::local::spinlock> in my code to synchronize all tasks to decrease a counter so that i know when all integration is finished and i did suspect it to make the runtime worse but its not even showing up as function in VTune. Any idea how i can make my functions show up in VTune, so that i can see how long each of my integration tasks took and if its because of my lock? Kevin, thank you! I will try that next and hopefully find out whats taking so much time in my code. Best regards Tobias Gauweiler On 20 September 2017 at 03:46, Kevin Huck <kh...@cs.uoregon.edu> wrote: > Tobias - > > Sorry for the slow reply - I’m traveling and in all day meetings today and > tomorrow. > > To enable OTF2 output, set the following environment variable before > execution: > APEX_OTF2=1 > > You can control the location of the OTF2 archive > with APEX_OTF2_ARCHIVE_PATH and APEX_OTF2_ARCHIVE_NAME environment > variables, although the defaults are usually sufficient. > > Please email me directly if you have any other questions. > > Thanks - > Kevin > > On Sep 19, 2017, at 10:23 AM, Hartmut Kaiser <hartmut.kai...@gmail.com> > wrote: > > Tobias, > > Thank you all for your replies. > I have available for me Intel VTune Amplifier 2018 and Vampir 9.2. > > So far i did rebuild HPX with -DHPX_WITH_APEX=ON and - > DCMAKE_BUILD_TYPE="RelWithDebInfo". > I couldn't find a cmake or cmd line flag in the documentation how to > enable OTF file creation. How is that done? > > > I'm cc'ing Kevin on this reply for him to answer the APEX question. > > @Hartmut: Do i need to do something extra to use VTune? A simple hotspot > analysis looks promising, but is only showing me intern hpx function calls > without any reference to my own code. > > > You can either use APEX or VTune, not both at the same time. In order to > integrate HPX with VTune you need to specify -DHPX_WITH_ITT_NOTIFY=On and > -DAMPLIFIER_ROOT=<base directory of VTune> to cmake at configuration time. > Please make sure that no APEX is enabled (-DHPX_WITH_APEX=Off) in this case. > > HTH > Regards Hartmut > --------------- > http://boost-spirit.com > http://stellar.cct.lsu.edu > > > > Best regards > Tobias Gauweiler > > On 1 September 2017 at 15:53, Hartmut Kaiser <hartmut.kai...@gmail.com> > wrote: > > If you are interested in seeing tasks like this > > https://pasteboard.co/GzF4jDa.png > > Then you should try compiling HPX with APEX enabled (and also enable > > OTF) > > and then you can use a tool like vampir (not free but they have a trial > version) or some others I can’t remember the names of (wxparaver?) that > can display OTF2 trace files. One that I’ve never tried but keep meaning > to is http://vite.gforge.inria.fr/ > > > An alternative option would be to use Intel Amplifier (former Intel VTune) > for which we have an integration with HPX as well. Let me know if you > would like to try that for more information. > > Regards Hartmut > --------------- > http://boost-spirit.com > http://stellar.cct.lsu.edu > > > > JB > > > > > > From: hpx-users-boun...@stellar.cct.lsu.edu [mailto:hpx-users- > boun...@stellar.cct.lsu.edu] On Behalf Of Tobias Gauweiler > Sent: 01 September 2017 13:42 > To: hpx-users@stellar.cct.lsu.edu > Subject: [hpx-users] Questions about benchmarking hpx tasks > > Hello, > > i want to benchmark my hpx application and i'm not sure what's the best > way to do this. > > My goal is to create a gantt chart with the x axis for the time and y > > axis > > for the hpx worker thread ids > and then adding boxes for each task to their corresponding hpx worker id > with the task computation time as length in x direction. > > The application runs on only one locality. > > Questions: > > 1.) If a task got suspended and then resumed is the hpx worker id still > the same? If not is there a unique identifier for tasks that i can use > instead? > > 2.) How to measure the computation time of each task? Should i write my > own performance counter or save the start and end time per task > > manually? > > > > Best regards > Tobias Gauweiler > > > _______________________________________________ > 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 > Performance Research Lab > 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 > >
_______________________________________________ hpx-users mailing list hpx-users@stellar.cct.lsu.edu https://mail.cct.lsu.edu/mailman/listinfo/hpx-users