hkaiser changed the topic of #ste||ar to: STE||AR: Systems Technology, Emergent Parallelism, and Algorithm Research | stellar-group.org | HPX: A cure for performance impaired parallel applications | github.com/STEllAR-GROUP/hpx | This channel is logged: irclog.cct.lsu.edu
Yorlik has quit [Ping timeout: 264 seconds]
K-ballo has quit [Quit: K-ballo]
hkaiser has quit [Quit: Bye!]
Yorlik has joined #ste||ar
Yorlik has quit [Ping timeout: 252 seconds]
K-ballo has joined #ste||ar
Yorlik has joined #ste||ar
hkaiser has joined #ste||ar
<Yorlik> Hello hkaiser: YT?
<Yorlik> Is there some functionality in HPX which helps / which I should use if I want to create global sets and set operations, like merge / intersect, etc.?
<Yorlik> Basically I want to implement global tagged object search.
<hkaiser> Yorlik: we have a number of collective operations, barrier, reduce, altoall, scatter/gather, etc.
<Yorlik> hkaiser: thanks: I'll look into these functions/objects.
K-ballo has quit [Quit: K-ballo]
K-ballo has joined #ste||ar
K-ballo1 has joined #ste||ar
K-ballo has quit [Ping timeout: 264 seconds]
K-ballo1 is now known as K-ballo
K-ballo has quit [Quit: K-ballo]
K-ballo has joined #ste||ar
<Yorlik> Do we have a comprehensive example how collectives work? Or do I have to dig the source? The only reference I found in the examples was a communicator in the stencil examples.
<Yorlik> It's basically a framework for scatter-gather semantics - is that correct?
<hkaiser> Yorlik: the tests should show things
<hkaiser> also, the semantics are close to the corresponding MPI functions
<Yorlik> hkaiser: Allright - thank you!
diehlpk has joined #ste||ar
Yorlik has quit [Ping timeout: 245 seconds]
diehlpk has quit [Quit: Leaving.]
diehlpk has joined #ste||ar
Yorlik has joined #ste||ar
diehlpk has quit [Quit: Leaving.]
diehlpk has joined #ste||ar
Yorlik has quit [Read error: Connection reset by peer]
Yorlik has joined #ste||ar
diehlpk has quit [Quit: Leaving.]
Yorlik has quit [Ping timeout: 252 seconds]
<gnikunj[m]> hkaiser: started with 3d stencil code from Keita and as usual, it doesn't execute properly :/
<gonidelis[m]> https://ibb.co/VwxSYqw Any idea how do I get info about the internals of hpx_main using APEX?
<gonidelis[m]> hkaiser: ^^
<gnikunj[m]> gonidelis: what part are you interested in?
<gonidelis[m]> gnikunj: part?
<gnikunj[m]> when you say "internals of hpx_main" do you mean the call stack before hpx_main or your code within hpx_main?
<gonidelis[m]> within
<gonidelis[m]> given that all my program logic is within it
<gnikunj[m]> is there a specific counter you're looking for?
<gonidelis[m]> ahh probably now
<gonidelis[m]> no*
<gonidelis[m]> what do you mean counter?
<gnikunj[m]> IIRC using APEX counters require you to include APEX and then use APEX function calls before and the instruction you're interested in for accurate results. HPX does have a list of common counters available as well but they won't tell you the counter results for the new things you define (for instance your own function call)
<gonidelis[m]> ahh
<gonidelis[m]> darn ok
<gonidelis[m]> i need to embed those apex functions then
<gnikunj[m]> Patrick Diehl would know better know. He's used it more than me. I just used it once for profiling purposes.
<gonidelis[m]> do you remember where you found these apex functions reference?
<gnikunj[m]> gonidelis[m]: essentially yes. If you don't want any of this, try using VTune. It returns the results for literally every instruction.
<gnikunj[m]> gonidelis: http://uo-oaciss.github.io/apex/
<gonidelis[m]> gnikunj: they literally got nothing in there
<gonidelis[m]> ^^
<gnikunj[m]> Aah, then Patrick Diehl is your best bet
<gonidelis[m]> gnikunj: hkaiser vtune is ridiculous
<gonidelis[m]> why the heck do even other profilers exist
<gnikunj[m]> hahahaha VTune is overkill for most purposes, yes
<gnikunj[m]> but VTune is only for Intel and is expensive :P
<gnikunj[m]> also, it can't do distributed profiling so applications like Vampir exists
<gonidelis[m]> i have a ryzen
<gonidelis[m]> and it works with certain restrictions ;)
<gnikunj[m]> ok, idk how it worked for you then lol
<gnikunj[m]> maybe they're limited to x86 and not Intel then
<gonidelis[m]> yy i ge ta huge error that says "BUY INTEL YOU CHEAPSHOT"
<gonidelis[m]> but i can skip it and at least check my hotspots
<gonidelis[m]> gnikunj[m]: exactly
<gnikunj[m]> nice, glad I could be of help
<gonidelis[m]> certainly