aserio 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/
hkaiser has quit [Quit: bye]
diehlpk has joined #ste||ar
K-ballo has quit [Quit: K-ballo]
diehlpk has quit [Quit: Leaving]
diehlpk has joined #ste||ar
diehlpk has quit [Ping timeout: 260 seconds]
ajaivgeorge has quit [Ping timeout: 260 seconds]
bikineev has joined #ste||ar
ajaivgeorge has joined #ste||ar
bikineev has quit [Remote host closed the connection]
bikineev has joined #ste||ar
jaafar has joined #ste||ar
ajaivgeorge has quit [Ping timeout: 255 seconds]
bikineev has quit [Remote host closed the connection]
jaafar has quit [Ping timeout: 245 seconds]
shoshijak has joined #ste||ar
ajaivgeorge has joined #ste||ar
Matombo has joined #ste||ar
pree has joined #ste||ar
pree has quit [Read error: Connection reset by peer]
pree has joined #ste||ar
bikineev has joined #ste||ar
mcopik has quit [Ping timeout: 246 seconds]
mcopik has joined #ste||ar
jbjnr has quit [Ping timeout: 245 seconds]
bikineev has quit [Remote host closed the connection]
bikineev has joined #ste||ar
bikineev has quit [Remote host closed the connection]
bikineev has joined #ste||ar
bikineev has quit [Remote host closed the connection]
bikineev has joined #ste||ar
bikineev has quit [Remote host closed the connection]
bikineev has joined #ste||ar
bikineev has quit [Remote host closed the connection]
bikineev has joined #ste||ar
bikineev has quit [Ping timeout: 245 seconds]
pree has quit [Read error: Connection reset by peer]
hkaiser has joined #ste||ar
shoshijak has quit [Ping timeout: 255 seconds]
josef__k has joined #ste||ar
<josef__k> I'm having trouble getting a basic program that uses HPX to compile.
<josef__k> ...
<josef__k> I'm using CMake, using the add_hpx_executable, but I get linker errors.
<josef__k> Lots of undefined references to hpx symbols.
<josef__k> The only tutorial information I've found to go on is this: http://stellar.cct.lsu.edu/files/hpx-1.0.0/html/hpx/manual/build_system/using_hpx/using_hpx_cmake.html
ajaivgeorge has quit [Ping timeout: 268 seconds]
<zao> What OS and symbols?
<zao> A common cause is having Boost or tcmalloc libraries partially installed, so HPX finds the symlinks but not the actual libraries.
pree has joined #ste||ar
ajaivgeorge has joined #ste||ar
<josef__k> Linux.
<josef__k> Hmm.
<github> [hpx] hkaiser closed pull request #2668: Fixing documentation index (master...fixing_doc_index) https://git.io/vHR8D
<github> [hpx] hkaiser pushed 1 new commit to master: https://git.io/vHaem
<github> hpx/master 48b891c Hartmut Kaiser: Merge pull request #2677 from STEllAR-GROUP/inspect_addressof...
<josef__k> huh. OK, magically, it is finding all the hpx symbols now.
<josef__k> Now it just can't find symbols in another library that needs to be linked to, using the LINK_FLAGS option to add_hpx_executable, I guess.
<josef__k> Does one just write (... LINK_FLAGS -lfoo), to link to a library called "foo"?
<josef__k> Where I would usually write target_link_libraries(program foo) in CMake.
<josef__k> Hmmm, libraries have to appear at the end of the link command line, right? But the LINK_FLAGS appear early?
<josef__k> Oh, that's why the DEPENDENCIES option is there.
bikineev has joined #ste||ar
K-ballo has joined #ste||ar
<josef__k> It compiles, it links... it throws an exception at runtime: what(): hpx_startup::user_main: HPX(not_implemented)
<josef__k> (I did figure out what 'magically' happened before.)
<josef__k> Ah, I see.
bikineev has quit [Ping timeout: 246 seconds]
<josef__k> Hrrm. How do you use hpx::start with test frameworks that generate their own main functions? With difficulty?
bikineev has joined #ste||ar
<zao> Can't really help there, haven't really used the actual library much :)
<zao> I guess you could do your own startup/teardown in fixtures maybe?
<zao> There's varying amounts of letting HPX take the reins, from full on replacement of main to manual initialization with a main "callback", up until not relinquishing the main thread at all, keeping it native and spinning of HPX threads elsewhere.
<hkaiser> josef__k: could you repeat what your problem is, I caught only half of it
<josef__k> hkaiser: Hi Hartmut; I'm just starting out with HPX, so my problems are evolving quickly. :)
<hkaiser> lol
<josef__k> Right now, I am trying to integrate HPX and Google Test framework. My current runtime exception is: what(): null thread id encountered (is this executed on a HPX-thread?): HPX(null_thread_id)
<hkaiser> josef__k: that means you try to run hpx functionality on a non-hpx thread
<josef__k> My main function(s) look like this: https://ideone.com/WCyxYS
<hkaiser> you should use hpx::init, not hpx::start
<josef__k> Ahh.
<hkaiser> hpx::start returns right away
<hkaiser> josef__k: what the docs don't say is that you can use your own main function (instead of hpx_main), but you already figured that out
<josef__k> hkaiser: Huzzah! The second form, using hpx_main() worked! Thank you.
<josef__k> hkaiser: I was at your presentation at Meeting C++ in Berlin a couple of years ago, actually. I thought v1.0 was a good time to start experimenting with it. :)
<hkaiser> josef__k: great!
<hkaiser> let us know if we can help in any way
bikineev has quit [Ping timeout: 260 seconds]
<josef__k> One last question before I go to bed: is hpx::parallel::execution::par the natural/default choice? I'm just experimenting with hpx::parallel::transform_reduce right now.
<hkaiser> yes
<hkaiser> josef__k: if you want to parallelize an algorithm, par is the way to go
<github> [hpx] hkaiser pushed 1 new commit to master: https://git.io/vHaJd
<github> hpx/master 3b3c56b Hartmut Kaiser: Minor addition to docs...
<josef__k> Thanks. Keep up the great work!
jaafar has joined #ste||ar
<github> [hpx] hkaiser pushed 1 new commit to master: https://git.io/vHaTf
<github> hpx/master 2aaf99f Hartmut Kaiser: Reduce configuration (cmake) noise if pkg_config is not found
bikineev has joined #ste||ar
pree has quit [Ping timeout: 272 seconds]
pree has joined #ste||ar
hkaiser_ has joined #ste||ar
hkaiser has quit [Read error: Connection reset by peer]
Matombo has quit [Ping timeout: 255 seconds]
hkaiser has joined #ste||ar
hkaiser_ has quit [Read error: Connection reset by peer]
josef__k has quit []
mcopik has quit [Ping timeout: 240 seconds]
Matombo has joined #ste||ar
david_pfander has joined #ste||ar
hkaiser has quit [Quit: bye]
david_pfander has quit [Ping timeout: 260 seconds]
david_pf_ has joined #ste||ar
david_pf_ has quit [Quit: david_pf_]
shoshijak has joined #ste||ar
bikineev has quit [Ping timeout: 245 seconds]
pree has quit [Quit: AaBbCc]
bikineev has joined #ste||ar
bikineev has quit [Remote host closed the connection]
vamatya has joined #ste||ar
jbjnr has joined #ste||ar
<jbjnr> is anyone around today. my IRC thingy failed, so I see no messages
vamatya has quit [Read error: Connection reset by peer]
mcopik has joined #ste||ar
denis_blank has joined #ste||ar
<K-ballo> jbjnr: we have irc logs now!
hkaiser has joined #ste||ar
<jbjnr> thanks K-ballo
<jbjnr> now I need to be careful about being rude about people when they're not here :)
<hkaiser> not much going on today...
bikineev has joined #ste||ar
<jbjnr> I think I found a bug, but I suspect I need to ask heller about it
<hkaiser> jbjnr: yah, it's his fault anyways ;)
<jbjnr> correct
<jbjnr> hkaiser: what I'm seeing is that when a parcel is encoded - it may be 0xb0 bytes of data and 0x200000 bytes of rma/zero copy data in chunks. It requests a buffer of size 0x2000b0 when it actually only should ask for 0x200000
<jbjnr> and I'm looking thorough encode_parcels to see if it knows the difference in sizes between the true data that needs to be copied into the buffer, and the data that is being zero-copied
<hkaiser> jbjnr: look at the preprocess type which is used to collect the anticipated size of the parcel
<hkaiser> hmm, that's probably too low level :/
RostamLog_ has joined #ste||ar
<heller_> jbjnr: always my fault
<heller_> jbjnr: let's talk tomorrow night ... I am on travel next week again, so officially banned until i leave home tomorrow afternoon :/
<jbjnr> heller_: don't worry. I will find the problem. I added an rma_chunk type and must have missed one place where the size is setup in the archive
wash[m] has quit [*.net *.split]
RostamLog has quit [*.net *.split]
wash[m] has joined #ste||ar
taeguk[m] has quit [Ping timeout: 240 seconds]
thundergroudon[m has quit [Ping timeout: 255 seconds]
thundergroudon[m has joined #ste||ar
taeguk[m] has joined #ste||ar
<jbjnr> hkaiser: how do I enable logging for the parcelport with hpx:log options?
<jbjnr> if (LPT_ENABLED(blah ....
david_pf_ has joined #ste||ar
<jbjnr> ignore my last request btw
shoshijak has quit [Ping timeout: 255 seconds]
david_pf_ has quit [Ping timeout: 240 seconds]
Matombo has quit [Remote host closed the connection]
<hkaiser> jbjnr: do you still need the logging?
bikineev has quit [Remote host closed the connection]
bikineev has joined #ste||ar
<jbjnr> hkaiser: no, but do you know where in the code, the size of the parcel is summed up before it is actually created?
<jbjnr> I could have sworn we had a traits for the size of each type as it went into the archive, but I can't find it
<hkaiser> jbjnr: we do a fake serialization operation to collect the size
<jbjnr> hkaiser: I can't find it though
<hkaiser> jbjnr: we use a special archive which 'stores the data' in the preprocess 'container'
<jbjnr> I need to find whrere the size is being set incorrectly on the buffer
<hkaiser> the preporcess type is just to collect the sizes
<hkaiser> preprocess*
<jbjnr> ok
<jbjnr> thanks
<hkaiser> jbjnr: look at the parcel_await magic, I don't like that currently as it is utterly confusingly done (blame heller)
<hkaiser> this is intertwining the waiting for futures to become ready with finding the necessary space
<hkaiser> (and it's still totally broken on master, btw)
<jbjnr> broken on master? which part is broken?
<hkaiser> jbjnr: heller has a 'fix' on one of the PRs but he can't get it to get past circleci for weeks now
<jbjnr> hmm. still can't find where the size is computed though.
<jbjnr> no, I mean where the preprocess archive gets serialized and the size incremented
<jbjnr> I'm adding 0 for rma chunks
<jbjnr> but it comes out as 0x20000
<jbjnr> so how doe it get the size, it must be looking at the chunk itself, which is wrong
<jbjnr> the chunk is a pointer chunk, it should have zero size
<hkaiser> preprocess::resize should 'collect' the size
<hkaiser> jbjnr: if you set a breakpoint there you should see where it comes from
bikineev has quit [Remote host closed the connection]
<jbjnr> hkaiser: for example - if chunking is disabled, then writing an array, will increasee the buffer size by N, but if chunk seems incorrecting is enabled, then this https://github.com/STEllAR-GROUP/hpx/blob/c24d02101fe6c9a58a5d46d1781b1c481c4e0d48/hpx/runtime/serialization/output_archive.hpp#L360
<jbjnr> but array does this
<jbjnr> sorry, my trackpad messed up my typing
<jbjnr> when an array is written with chunking off, the buffer grows by the count bytes, but when optimized write is used, that should not be there. (for the rma writes, I use a value of zero.)
diehlpk has joined #ste||ar
diehlpk has quit [Quit: Leaving]
diehlpk has joined #ste||ar