Re: [hpx-users] Questions about benchmarking hpx tasks
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 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 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 > 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= 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 > 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
Re: [hpx-users] Questions about benchmarking hpx tasks
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 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= 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 >> 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 <mailto:kh...@cs.uoregon.edu> http://tau.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] Questions about benchmarking hpx tasks
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= 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 > 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 ___ hpx-users mailing list hpx-users@stellar.cct.lsu.edu https://mail.cct.lsu.edu/mailman/listinfo/hpx-users
Re: [hpx-users] Questions about benchmarking hpx tasks
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? @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. Best regards Tobias Gauweiler On 1 September 2017 at 15:53, Hartmut Kaiser 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 > ___ hpx-users mailing list hpx-users@stellar.cct.lsu.edu https://mail.cct.lsu.edu/mailman/listinfo/hpx-users
Re: [hpx-users] Questions about benchmarking hpx tasks
> 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
Re: [hpx-users] Questions about benchmarking hpx tasks
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/ 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
[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