K-ballo 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/
nanmiao has joined #ste||ar
K-ballo has quit [Quit: K-ballo]
nanmiao has quit [Quit: Connection closed]
jehelset has joined #ste||ar
K-ballo has joined #ste||ar
syrex has joined #ste||ar
bering[m] has joined #ste||ar
syrex has quit [Quit: syrex]
syrex has joined #ste||ar
syrex has quit [Client Quit]
syrex has joined #ste||ar
<jbjnr> gnikunj: Did you finish your work on the stencil examples?
<gnikunj[m]> I did
<gnikunj[m]> Totally forgot I need to get the PR merged
<jbjnr> aha. I was going to ask which examples did you change, but if they're not merged ...
<gnikunj[m]> The 1d stencil example is in hpx and simd one is under tutorial repo
<jbjnr> I will look thanks
<gnikunj[m]> Hpx one is currently integrated in hpx btw under examples/stencil
<gnikunj[m]> The simd one is under a PR. I need to update the CI to make sure it does testing
<bering[m]> Hello everyone. I am new to the group, so let me introduce myself really quick. My name is Michael Schupikov and I am writing an OpenCL executor for HPX. Its goal is to accompany the CUDA executor in a separate HPX module.
<bering[m]> Naturally, I have a bunch of questions.
<bering[m]> The documentation states that private headers should go to the src/ directory of the module. I have not seen that in any other project so far, so I wanted to check how often it is used. The number of usages seems to be
<bering[m]> So, is the documentation outdated or do other parts of the implementation simply have no use for the separation?
<ms[m]> I don't think we ever followed that convention... that was written before we actually started moving things around and we never updated it
<jbjnr> I wouldn't worry too much about it. Most private headers end up int detail/...
<jbjnr> * I wouldn't worry too much about it. Most private headers end up in detail/...
<ms[m]> we could likely do it for some headers, but given that a lot is templated you usually end up needing all headers in the install anyway
<bering[m]> So, is it correct that headers should simply go into include/...?
<bering[m]> Regarding templates, yes, I already saw that coming. Thinking about explicit template specializations to separate the declaration from the definition. Will see how it goes.
<ms[m]> yes, headers currently all go into include
<ms[m]> (and will likely continue to do so)
<K-ballo> "private" headers are icky
<gonidelis[m]> any idea why this cmake won't find `std::execution` ?
<srinivasyadav227> can you try this set (CMAKE_CXX_STANDARD 17)?
<gonidelis[m]> yeah this fixes it indeed
<gonidelis[m]> but doesn't -std=c++17 already do the job?
<srinivasyadav227> yeas, but idk, this worked me last time hehe ;)
<srinivasyadav227> may be -std=gnu++17
<srinivasyadav227> or some may be compiler dependent flag,
<gonidelis[m]> srinivasyadav227: ahh.... gnu++17 worked ;)
<gonidelis[m]> thanks!
<bering[m]> Are there any objections against module-internal anonymous namespaces?
<srinivasyadav227> gonidelis: lol, my blind guess
<gonidelis[m]> srinivasyadav227: ;)
<K-ballo> bering[m]: unnamed namespaces, not anonymous.. and what would that mean?
<bering[m]> That is the C++ equivalent of `static` in C for functions. However, unnamed namespaces can also contain all the other things like structs.
<bering[m]> So, you basically are limiting the visibility of internals.
<K-ballo> I'm aware what unnamed namespaces are and do, what is a "module-internal" one though?
<K-ballo> how do they differ from any normal usage of unnamed namespaces
<bering[m]> Not at all. I meant that I would use them only in the new module.
<K-ballo> use them anywhere it would make sense to use them
<K-ballo> you probably noticed there's not enough consideration to linkage in the codebase
<bering[m]> Alright.
<K-ballo> (visibility is a different concept from linkage)
<K-ballo> they are often used interchangeably, as anonymous vs unnamed namespace are
jehelset has quit [Remote host closed the connection]
<bering[m]> Is there a reason why the polling functions are not initialized right away in scheduler_base? Is it for performance reasons?
<bering[m]> std::atomic<polling_function_ptr> polling_function_mpi_;
<bering[m]> std::atomic<polling_function_ptr> polling_function_cuda_;
<bering[m]> std::atomic<polling_function_ptr> polling_function_opencl_{null_polling_function};
<K-ballo> link to the sources?
nanmiao has joined #ste||ar
<gonidelis[m]> When I get a `terminate called after throwing an instance of 'hpx::exception_list'`, is there any reason where I could spectate these exceptions?
<gonidelis[m]> any way^^
<bering[m]> gonidelis[m]: Are they not catched in the debugger first? I believe in gdb you can set a breakpoint on thrown exceptions. Might be also possible for "unhandled" exceptions.
<K-ballo> bering[m]: by "right away" you mean a member initializer instead of initialization in the mem-init-list?
<bering[m]> K-ballo: Yes. Good thing we did the embarrassing part right at the beginning. :) I simply assumed they would be member-initialized or not at all.
<K-ballo> there's no codegen difference between those two, no performance concerns
<K-ballo> reason for no member initializer is probably that that code is old, and member initializers took a while to be fully supported in c++11
<bering[m]> That makes sense.
shubham has joined #ste||ar
<bering[m]> You are developing against master, right?
<bering[m]> And are individual commits require to compile, to facilitate the usage of git bisect or something like that?
<rori> yes against master and it's highly preferable that the commit compile but it's not an absolute rule for what I've seene
<rori> *seen
<K-ballo> do whatever you want with commits while you are developing, then clean stuff up to open a PR
<K-ballo> it's easy enough for very specific PRs, less so for "change-the-entire-world" PRs
nanmiao has quit [Quit: Connection closed]
jaafar has quit [Remote host closed the connection]
jaafar has joined #ste||ar
shubham has quit [Quit: Connection closed for inactivity]