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/ | GSoC: https://github.com/STEllAR-GROUP/hpx/wiki/Google-Summer-of-Code-%28GSoC%29-2020
<hkaiser> yes
nikunj97 has joined #ste||ar
bita_ has quit [Ping timeout: 260 seconds]
hkaiser has quit [Quit: bye]
nikunj97 has quit [Remote host closed the connection]
nikunj97 has joined #ste||ar
nikunj97 has quit [Remote host closed the connection]
nanmiao11 has quit [Ping timeout: 245 seconds]
weilewei has quit [Ping timeout: 245 seconds]
Yorlik has joined #ste||ar
hkaiser has joined #ste||ar
<hkaiser> PMC meeting today 9am CDT here: https://lsu.zoom.us/j/335605227
<hkaiser> ms[m]: should we meet for the Kokkos discussion before the PMC meeting?
<gdaiss[m]> hkaiser: At least on my side there is currently little new to report about Kokkos - how about you @ms?
<ms[m]> hkaiser let's do a short one
<ms[m]> the only "new" thing is adding the kokkos execution policy and dispatching hpx::reduce based on that
<ms[m]> let's meet at 15:45? in 25 minutes?
<gdaiss[m]> ms: Sounds good to me
<hkaiser> ok
<hkaiser> nikunj: if you have the time, I think it might be useful for you to join that to coordinate on the resiliency executor work
<nikunj> hkaiser: ohh alright. I'll join in!
<ms[m]> gdaiss are you joining?
nikunj97 has joined #ste||ar
diehlpk__ has joined #ste||ar
<ms[m]> jbjnr: heller joining the meeting?
diehlpk__ has quit [Ping timeout: 240 seconds]
Nikunj__ has joined #ste||ar
nikunj97 has quit [Ping timeout: 244 seconds]
nanmiao11 has joined #ste||ar
nikunj97 has joined #ste||ar
diehlpk__ has joined #ste||ar
Nikunj__ has quit [Ping timeout: 260 seconds]
diehlpk__ has quit [Ping timeout: 244 seconds]
weilewei has joined #ste||ar
karame_ has joined #ste||ar
<hkaiser> ms[m]: I think I just overwrote a change you made to the resiliency cpo PR
<hkaiser> sorry...
<hkaiser> what did you change?
<ms[m]> hkaiser: no worries :P (always git push --force-with-lease!)
<ms[m]> I think it was just a typo, but I just got home so can't check what I had there
<ms[m]> can check tomorrow, but I'm pretty sure it wasn't anything very critical
<hkaiser> ms[m]: ok, thanks
<ms[m]> and I realized we forgot to discuss that namespace change... I'm ok with anything, but considering the cuda/mpi namespace changes I thought it doesn't make much sense to have it in both non-experimental hpx::resiliency and hpx::experimental
<hkaiser> ms[m]: I've done it already, everything is now in resiliency::experimental
<ms[m]> woop, thank you!
<hkaiser> that's how I overwrote your changes ;-)
<ms[m]> :P
<hkaiser> ms[m]: there are some clang-tidy errors on master now (caused by my boost changes)
<hkaiser> just 0 -->nullptr required, ok to push to master directly?
<hkaiser> K-ballo: ahh, yes - thanks
<K-ballo> the overwritten commits are still accessible from the PR
<K-ballo> also yes, --force-with-lease always
<hkaiser> K-ballo: I usually do that - not sure why it went through :/
<K-ballo> maybe you had fetch the changes already
<hkaiser> nod
diehlpk__ has joined #ste||ar
nanmiao11 has quit [Remote host closed the connection]
weilewei has quit [Remote host closed the connection]
nanmiao11 has joined #ste||ar
weilewei has joined #ste||ar
bita_ has joined #ste||ar
<weilewei> If I have a hpx async code like this and would like to use hpx::util::annotated_function(), how should I transform the code ?https://gist.github.com/weilewei/bda86ddb35b22f90785b8865fbf8717f
<ms[m]> hkaiser: yeah, go for it, sorry for not noticing before merging
<ms[m]> weilewei: does wrapping f in annotated_function work? The constructor takes a string and the function, or vice versa
<gonidelis[m]> What do we mean when we say that functions are more "customizable" when using CPO's?
diehlpk__ has quit [Ping timeout: 260 seconds]
<weilewei> ms[m] is that correct?
<weilewei> Also, if I would like to make function f's name to a string, is there any way to do it?
<ms[m]> weilewei: `hpx::async(hpx::util::annotated_function(f, "name"), std::forward<Args>(args)...)`
<ms[m]> what do you mean by the function's name?
<weilewei> So different functions will be passed to the same interface of enqueue(F&& f, Args&&... args), like, enqueue(foo, arg0), enqueue(bar, arg0), etc. And I would like have a string name of f inside enqueue()
<weilewei> like, I would like to have to_string(foo), to_string(bar) something like this into "name"
<K-ballo> objects don't have names, you'll have to provide it yourself
<weilewei> K-ballo oh I see
<weilewei> ms[m] with your code, the application crashes right after run... https://gist.github.com/weilewei/2328a68cc650de863561f52bbe2665c5 any suggestion?
<hkaiser> weilewei: still the set-affinity problem, not relation to the code ms[m] suggested
nikunj97 has quit [Quit: Leaving]
<weilewei> hkaiser ahhh, right I need to export APEX_PIN_APEX_THREADS=0 before running, ms[m] now your code runs good. thanks!
<bita_> Lukas Troska, A HPX Backend for TensorFlow, talk to the STE||AR Group @ LSU, Baton Rouge, LA, April 5, 2017
<gonidelis[m]> K-ballo: What do we mean when we say that functions are more "customizable" when using CPO's?
<K-ballo> no idea, I don't I've said that
kimbo[m] has joined #ste||ar
K-ballo has quit [Ping timeout: 260 seconds]
K-ballo has joined #ste||ar
<tiagofg[m]> Hello,
<tiagofg[m]> I found an example in HPX instalation folder: /hpx/tests/unit/component/inheritance_3_classes_concrete.cpp
<tiagofg[m]> I need hpx components with inheritance and in the documentation there is no information about this.
<tiagofg[m]> but I need the class to inherit from two classes, not just one
<tiagofg[m]> How can I do this?
<tiagofg[m]> for example, I need a component A that is derived from component B and component C
<hkaiser> tiagofg[m]: you can do that, but it requires some handywork
<hkaiser> tiagofg[m]: I can create an example for this
<hkaiser> but it will be very similar to that test you mentioned
<tiagofg[m]> that would be great
<hkaiser> ok
<hkaiser> is that urgent?
<tiagofg[m]> yes...
<hkaiser> give me a day or so
<tiagofg[m]> i'm trying to understand how this works for a few days already
<tiagofg[m]> ok no problem, thanks!
<tiagofg[m]> beside this, what I realy want, after, is to have same compent A inherit derived from template components
<tiagofg[m]> it is a more complex thing, but one step at a time
<hkaiser> tiagofg[m]: looking at the existing tests...
<hkaiser> why do you think it's not sufficient what those show?
<hkaiser> the current example has C derived from B derived from A - you need C derined from A and B?
<hkaiser> tiagofg[m]: ^^
<tiagofg[m]> yes exactly
<hkaiser> ok, that's not very different I presume, let me try that
<tiagofg[m]> but after that, I would need A and B templated
<tiagofg[m]> like:
<tiagofg[m]> template <typename T>
<tiagofg[m]> class A
<tiagofg[m]> and:
<tiagofg[m]> template <typename R, typename ... P>
<tiagofg[m]> class B<R(P...)>
<tiagofg[m]> but, step by step
<hkaiser> tiagofg[m]: are you sure about that?
<hkaiser> (note to self: we need a way to simplify all of this)
<tiagofg[m]> humm I think so
<tiagofg[m]> but for now, C derived from A and B would be great
<hkaiser> tiagofg[m]: I mean, why derivation?
<hkaiser> ouldn't composition work ?
<hkaiser> instead of doing struct C : A, B {}; do struct C { A a; B b; };
<tiagofg[m]> I have a parallel platform written in C++ and it's done C : A, B {}; way, I wanted to stay true to the original version
<weilewei> Just got access to Cori : )
<hkaiser> tiagofg[m]: here: https://github.com/STEllAR-GROUP/hpx/pull/4853, it was easier than I thought
<hkaiser> weilewei: \o/
<tiagofg[m]> <hkaiser "tiago.fg: here: https://github.c"> I see that, nice!
<tiagofg[m]> And if B was templated, for example
<tiagofg[m]> what I really need now is C derived from A, B, and D
<tiagofg[m]> and:
<tiagofg[m]> template <typename T>
<tiagofg[m]> class C: A, B<T>
<tiagofg[m]> I don't know if I am pushing hard, but I think these examples can be useful to others to
<hkaiser> tiagofg[m]: this is similar to normal templated components
Yorlik has quit [Ping timeout: 256 seconds]
<tiagofg[m]> Do you have some small example? Is just because the necessary syntax for inheritance is not in the documentation, it is a little difficult to me to start from scratch
<tiagofg[m]> like C: A, B<T> {}; and C: A, B, D {};
<hkaiser> tiagofg[m]: the derivation from 3 classes should be 100% the same as the example I just created
<tiagofg[m]> ok good!
bita_ has quit [Ping timeout: 260 seconds]
Yorlik has joined #ste||ar
Yorlik has quit [Ping timeout: 260 seconds]
<weilewei> I don't understand this cmake error: Could NOT find HDF5 (missing: HDF5_LIBRARIES) (found version "1.10.5"
<weilewei> it said not find hdf5 but later say found an available version
<K-ballo> it found part of it, it's missing the libraries
<weilewei> How can I link my application to it
<weilewei> I passed -DHDF5_INCLUDE_DIRS=/opt/cray/pe/hdf5/1.10.5.2/GNU/8.2/include, which ideally will help me to find the library correctly
<K-ballo> that may help with includes, but not libraries
<K-ballo> where does FindHDF5.cmake come from?
<K-ballo> (libraries as in library files: .lib, .a, .so)
<K-ballo> also note `HDF5_INCLUDE_DIRS` is a result variable, you are not meant to set it
<weilewei> hmm I did not see FindHDF5.cmake in the directory
<K-ballo> if you are on a very recent cmake, you may set HDF5_ROOT
<K-ballo> to I imagine .../GNU/8.2
<K-ballo> alternatively, you'd have to add that path to CMAKE_PREFIX_PATH
<weilewei> both don't work, HDF5_ROOT and CMAKE_PREFIX_PATH....
<weilewei> I am non cmake 3.17.3
<K-ballo> those are your only options
<zao> What kind of layout do you have in lib (or lib64)?
<K-ballo> <PackageName>_ROOT will work on 3.17.3
<weilewei> zao lib
<zao> Notable also is that HDF5 has some different variations in how it can be built too, where IIRC C++ and/or parallel may be optional.
<zao> I mean inside lib.
<K-ballo> oh but for <PackageName>_ROOT to work you need to request recent cmake policies as well, so while it is supported it may not be used
<K-ballo> goes back to 3.12, I thought it was more recent