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
K-ballo has quit [Quit: K-ballo]
hkaiser has quit [Quit: Bye!]
ruchipakhle has joined #ste||ar
ruchipakhle has quit [Client Quit]
Yorlik has joined #ste||ar
<Yorlik> I have sortof a style question: We have a header only networking library and I am thinking of separation declarations and definitions into e.g. a file client_api.hpp and client.hpp(impl). Users would have to include client.hpp (which includes client_api.hpp at the top). To look up the api one would have to look at client_api, which would also have the documenting comments for doxygen. Does that make
<Yorlik> sense? I'd just like to separate implementation and declarations for better readability. What do you think?
K-ballo has joined #ste||ar
hkaiser has joined #ste||ar
<srinivasyadav227> hkaiser: what is the use of these 2 lines here https://github.com/STEllAR-GROUP/hpx/blob/master/examples/quickstart/executor_with_thread_hooks.cpp#L63-L65 ? They are not used any where in the struct, are those for inheritance purposes ?
<hkaiser> those are used to expose the category etc. through well defined names
<hkaiser> this simplifies introspection
<hkaiser> (i.e. figure out properties of an executor)
<hkaiser> all executors should have those embedded types defined
<srinivasyadav227> ok cool, but `execution_category` does not exist for sequenced executor's right ?
<hkaiser> well, there is a default value used if not explicitly defined
<hkaiser> let me find it
<srinivasyadav227> ok, how do I extract for sequenced executor ? 😅
<hkaiser> give me a sec
<srinivasyadav227> thanks :)
<srinivasyadav227> sure
<srinivasyadav227> I got more question please :), when using parallel executors, by default each core/thread gets 4 chunks ?
<srinivasyadav227> cool, got it :)
<hkaiser> srinivasyadav227: yes, we decided that 4 is a good number ;-)
<srinivasyadav227> cool xD
<hkaiser> well, it calculates the chunk size, but that implicitly controls their number
<srinivasyadav227> cool, i think threads are working greatly with likwid 😅
<srinivasyadav227> thread hooks*
<srinivasyadav227> I get this https://gist.github.com/srinivasyadav18/6d4f19bbb359cb5368a3c996d988d02f output from likwid
<srinivasyadav227> which means, each thread is properly getting initialised by `likwid_thread_init` by thread hook lambda's
mdiers[m] has quit [*.net *.split]
jbjnr[m] has quit [*.net *.split]
ms[m] has quit [*.net *.split]
mdiers[m] has joined #ste||ar
ms[m] has joined #ste||ar
jbjnr[m] has joined #ste||ar
<hkaiser> srinivasyadav227: nice!
<hkaiser> srinivasyadav227: note, the LIKWID_MARKER_THREADINIT is now called for each pthread HPX creates to execute tasks, while LIKWID_MARKER_START/STOP are invoked for each chunk of the parallel loop (HPX creates one task for each of those)
<srinivasyadav227> yeah, got it!
hkaiser has quit [Quit: Bye!]
hkaiser has joined #ste||ar
Yorlik has quit [Ping timeout: 252 seconds]