hkaiser changed the topic of #ste||ar to: STE||AR: Systems Technology, Emergent Parallelism, and Algorithm Research | stellar.cct.lsu.edu | HPX: A cure for performance impaired parallel applications | github.com/STEllAR-GROUP/hpx | Buildbot: http://rostam.cct.lsu.edu/ | Log: http://irclog.cct.lsu.edu/ | GSoC2018: https://wp.me/p4pxJf-k1
hkaiser has quit [Quit: bye]
<K-ballo> yeah, there were several conversations about moving to gitlab
diehlpk has joined #ste||ar
diehlpk has quit [Ping timeout: 240 seconds]
eschnett has quit [Quit: eschnett]
eschnett has joined #ste||ar
nanashi55 has quit [Ping timeout: 265 seconds]
nanashi55 has joined #ste||ar
K-ballo has quit [Quit: K-ballo]
Anushi1998 has quit [Remote host closed the connection]
Anushi1998 has joined #ste||ar
parsa has quit [Quit: Zzzzzzzzzzzz]
hkaiser has joined #ste||ar
<zao> Bitbucket must feel sad, being left out of the migration discussion.
parsa has joined #ste||ar
hkaiser has quit [Quit: bye]
Chewbakka has joined #ste||ar
anushi has joined #ste||ar
anushi has quit [Quit: Bye]
Anushi1998 is now known as anushi
Anushi1998 has joined #ste||ar
<heller> github has not been acquired yet
Anushi1998 has quit [Quit: Bye]
Anushi1998 has joined #ste||ar
wash has quit [Quit: leaving]
wash has joined #ste||ar
jbjnr_ has quit [Remote host closed the connection]
jbjnr_ has joined #ste||ar
parsa has quit [Quit: Zzzzzzzzzzzz]
Chewbakka has quit [Quit: Leaving...]
hkaiser has joined #ste||ar
david_pfander has joined #ste||ar
jakub_golinowski has joined #ste||ar
hkaiser has quit [Quit: bye]
parsa has joined #ste||ar
hkaiser has joined #ste||ar
Vir is now known as Guest11209
Guest11209 is now known as V|r
V|r is now known as Vir
parsa has quit [Quit: Zzzzzzzzzzzz]
churli has joined #ste||ar
jakub_golinowski has quit [Ping timeout: 245 seconds]
jakub_golinowski has joined #ste||ar
<M-ms> hey jakub_golinowski: try calling the ParallelLoopBodyWrapper () operator instead of the body operator directly here https://github.com/Jakub-Golinowski/opencv/blob/d98ec1d82958f828e5e6e6d7bc454d8bd002953b/modules/core/src/parallel.cpp#L402
<M-ms> basically the ParallelLoopBodyWrapper reconstructs the real range from stripeRange
<M-ms> you'd want to force a chunk size of 1 if you do that
<M-ms> but what you have now could also be good (let's hpx do the chunking) so you need to benchmark (depends how much of the Range(i, i + 1) and the for loop in body etc gets optimized away)
<jakub_golinowski> hello M-ms
<M-ms> (I see it's quiet over on #opencv...)
<jakub_golinowski> yes me too :(
<jakub_golinowski> M-ms, as for using ParallelLoopBodyWrapper() I remember I was trying to run it like this in my first attempts but then the current version finally workde. However, as I am now more comfortable with the backend framework I will look at it again.
<jakub_golinowski> But I will do it in around an hour because now I am working on benchmarks and do not want to occupy cores with building opencv
<M-ms> ok, no problem, just wanted to let you know
anushi has quit [Remote host closed the connection]
anushi has joined #ste||ar
churli has quit [Ping timeout: 256 seconds]
jakub_golinowski has quit [Ping timeout: 276 seconds]
hkaiser has quit [Ping timeout: 260 seconds]
jakub_golinowski has joined #ste||ar
anushi has quit [Ping timeout: 265 seconds]
anushi has joined #ste||ar
jakub_golinowski has quit [Ping timeout: 268 seconds]
jakub_golinowski has joined #ste||ar
jakub_golinowski has quit [Client Quit]
anushi has quit [Ping timeout: 240 seconds]
anushi has joined #ste||ar
hkaiser has joined #ste||ar
mcopik has joined #ste||ar
anushi has quit [Ping timeout: 265 seconds]
anushi has joined #ste||ar
eschnett has quit [Quit: eschnett]
anushi has quit [Ping timeout: 260 seconds]
anushi has joined #ste||ar
K-ballo has joined #ste||ar
churli has joined #ste||ar
eschnett has joined #ste||ar
churli has quit [Ping timeout: 265 seconds]
churli has joined #ste||ar
Anushi1998 has quit [Quit: Bye]
diehlpk_work has joined #ste||ar
eschnett has quit [Quit: eschnett]
eschnett has joined #ste||ar
aserio has joined #ste||ar
churli has quit [Ping timeout: 255 seconds]
akheir has joined #ste||ar
hkaiser has quit [Quit: bye]
david_pfander1 has joined #ste||ar
anushi has quit [Remote host closed the connection]
anushi has joined #ste||ar
Chewbakka has joined #ste||ar
aserio1 has joined #ste||ar
<Chewbakka> Hi all,
aserio has quit [Ping timeout: 265 seconds]
aserio1 is now known as aserio
<K-ballo> hi chewie
<Chewbakka> I am very new to HPX and try to develop a sparse matrix vector multiplication application implemented with HPX. I would like to ask you about your conceptional opinion and an issue I am currently facing. So the current state of the application is here: https://github.com/JeannedArk/smvm/tree/gen_m/src
mbremer_ has joined #ste||ar
<K-ballo> looks like a link to a folder
<Chewbakka> I have a custom Vector and VectorClient implementation and would like to do the same for the SparseMatrixCSR, but when I enable "HPX_REGISTER_ACTION" in SparseMatrixCSR.cpp line 209 I get a bunch of error messages, complaining about candidates expecting about the VectorClient
<Chewbakka> only the src folder, currently a small project
<Chewbakka> So my interpretation was that, when the Vector and SparseMatrixCSR are implemented as components and clients, they are available in the AGAS and I can steer which node calculates which row. Maybe you have some comments on the conceptional perspective. As said I am very new to HPX
Anushi1998 has joined #ste||ar
<K-ballo> are rows represented as components?
<K-ballo> would different rows live distributed all over the system, or are they sent to whatever node you choose to compute them?
<Chewbakka> So the SparseMatrixCSR contains the "rows" implicitly. The Matrix holds them in a compressed sparse row (CSR) format. So right now, I think a solution would be to use the normal algorithm for multiplication for CSR and delegate in the for loop which row is computed by which node
anushi has quit [Ping timeout: 255 seconds]
<K-ballo> an HPX component is the distributed equivalent of a C++ object, and an HPX action is the distributed equivalent of a C++ function
<Chewbakka> You can see the "normal way of multiplication" here: https://github.com/JeannedArk/smvm/blob/gen_m/src/SparseMatrixCSR.cpp line 86-100
<K-ballo> you seem to be picturing the scenario as a master node pushing work onto the slaves?
<Chewbakka> yes, some kind of
<K-ballo> that's not the ideal, but in that scenario you don't need components, as all the objects would have to live in the master node
<K-ballo> they would all be contained within the 0th locality, and you'd send rows of them as arguments to remote action invocations
<K-ballo> you need components when you want objects to live in some remote locality, and to interact with them from other localities
<Chewbakka> ok, what I wanted to say is that the matrix doesn't contain rows in a usual matrix fashion, it calculates them. So I think sending the fields of the matrix is not ideal. This is why I wanted to implement the matrix as a client to be avialable everywhere
<Chewbakka> What is your recommendation?
<K-ballo> I'd recommend you to think on how to distribute the data
<Chewbakka> what is the common approach for these scenarios?
<Chewbakka> sorry K-ballo, I have to go, but thank you already :)
hkaiser has joined #ste||ar
nikunj has joined #ste||ar
hkaiser has quit [Quit: bye]
jaafar has joined #ste||ar
aserio has quit [Ping timeout: 260 seconds]
galabc has joined #ste||ar
hkaiser has joined #ste||ar
david_pfander1 has quit [Ping timeout: 240 seconds]
churli has joined #ste||ar
anushi has joined #ste||ar
parsa has joined #ste||ar
anushi has quit [Client Quit]
Anushi1998 is now known as Anushi
Anushi is now known as anushi
Anushi1998 has joined #ste||ar
mcopik has quit [Ping timeout: 260 seconds]
quaz0r has quit [Ping timeout: 256 seconds]
aserio has joined #ste||ar
quaz0r has joined #ste||ar
hkaiser has quit [Quit: bye]
Chewbakka has quit [Remote host closed the connection]
mbremer_ has quit [Quit: Page closed]
Chewbakka has joined #ste||ar
Chewbakka has quit [Ping timeout: 245 seconds]
jakub_golinowski has joined #ste||ar
parsa has quit [Quit: Zzzzzzzzzzzz]
mbremer_ has joined #ste||ar
mbremer_ has quit [Client Quit]
parsa has joined #ste||ar
diehlpk_work has quit [Quit: Leaving]
<K-ballo> github is so slow today... I imagine it's the migrations
parsa has quit [Quit: Zzzzzzzzzzzz]
<heller> 7.5 billion
<heller> probably
<heller> would be nice to get free azure hours now ...
<heller> if anyone stumbles over linus torvalds rants regarding this topic, please share
<K-ballo> what for?
<heller> for fun
<heller> he
galabc has quit [Quit: Leaving]
galabc has joined #ste||ar
eschnett has quit [Quit: eschnett]
<nikunj> could anyone explain what exactly does "add_startup_function" does when we call hpx::init()?
<nikunj> it seems to add some sort of pre startup stuff so as to initialize hpx runtime system properly
<heller> yes
<heller> mainly to decrease coupling between the startup code and other stuff
<heller> for example to add performance counters
<heller> or register other names
<nikunj> heller: so if we provide a function with "add_start_up" function then it will run on HPX thread, right?
<heller> yes, that's the idea
<heller> those will generally ran before hpx_init
<heller> there is a macro to call that at global scope even before main()
<nikunj> heller: another question, will it allow me to use complete HPX functionality?
<nikunj> heller: I see
<nikunj> heller: so if I were to register a function with "add_start_up" then I could use it and it's derivatives on HPX thread as well?
<heller> yes
<heller> well
<heller> what do you mean with "derivatives"?
<nikunj> I meant that if I call another function from the function I registered with, will it also run on HPX thread?
<nikunj> or will it break the system?
akheir has quit [Quit: Leaving]
jakub_golinowski has quit [Ping timeout: 256 seconds]
aserio has quit [Quit: aserio]
<heller> nikunj: you can't easily escape an HPX thread
<nikunj> heller: that's really good to hear
<heller> you have to explicitly state that you want to run the function as a non-HPX thread somewehere
<heller> somewhere*
<nikunj> heller: I am currently trying to run global scope objects on HPX thread
<nikunj> heller: if this function can register them then this will ease up my process a bit
galabc has quit [Quit: Leaving]
<K-ballo> jbjnr_: having fun yet?
Anushi1998 has quit [Quit: Bye]
churli has quit [Ping timeout: 256 seconds]
K-ballo has quit [Ping timeout: 256 seconds]
K-ballo has joined #ste||ar
anushi has quit [Ping timeout: 248 seconds]
eschnett has joined #ste||ar
nikunj has quit [Quit: Leaving]
Anushi1998 has joined #ste||ar
galabc has joined #ste||ar
Anushi1998 has quit [Quit: Bye]
Anushi1998 has joined #ste||ar
Anushi1998 has quit [Quit: Bye]
Anushi1998 has joined #ste||ar