<Yorlik>
So what I saw was this: hpx::report_error(std::current_exception());
<hkaiser>
so unhandled exceptions bubble out and kill the kernel thread that is running the scheduler :/
<Yorlik>
I can trigger it pretty reliably, so I'll find out.
<hkaiser>
just tell VS to stop on any exception thrown
<Yorlik>
OK
<Yorlik>
VS reported some exceptions in the oputput window, but I could not see them - debugger was elsewhere
<Yorlik>
I'll find it
<Yorlik>
Caught it - now trying to understand and fix it :)
<Yorlik>
Thanknks for the hint with the catch all in the debugger
<Yorlik>
Weird. It's this line: e is valueless by exyception. and msg should be movable - I have done it a gazillion times and it worked. Also msg is passed by value, so it's owned inside the function moving it:
<Yorlik>
agns::messaging::envelope e { std::move( msg ) };
<Yorlik>
envelope is a std::variant, msg is a struct
<Yorlik>
The exception says std::runtime_error.
wate123_Jun has quit [Remote host closed the connection]
<Yorlik>
Now the debugger died - lol
<Yorlik>
This is going to be fun.
wate123_Jun has joined #ste||ar
wate123_Jun has quit [Ping timeout: 252 seconds]
Yorlik has quit [Read error: Connection reset by peer]
wate123_Jun has joined #ste||ar
Yorlik has joined #ste||ar
weilewei has quit [Remote host closed the connection]
hkaiser has quit [Quit: bye]
bita has quit [Quit: Leaving]
diehlpk_work has quit [Remote host closed the connection]
weilewei has joined #ste||ar
shahrzad has joined #ste||ar
akheir1 has joined #ste||ar
akheir has quit [Ping timeout: 256 seconds]
bita has joined #ste||ar
bita has quit [Client Quit]
shahrzad has quit [Ping timeout: 252 seconds]
akheir1_ has joined #ste||ar
akheir1 has quit [Read error: Connection reset by peer]
akheir1_ has quit [Client Quit]
weilewei has quit [Remote host closed the connection]
wate123_Jun has quit [Remote host closed the connection]
wate123_Jun has joined #ste||ar
wate123_Jun has quit [Ping timeout: 240 seconds]
shahrzad has joined #ste||ar
wate123_Jun has joined #ste||ar
wate123_Jun has quit [Ping timeout: 240 seconds]
shahrzad has quit [Quit: Leaving]
Hashmi has joined #ste||ar
wate123_Jun has joined #ste||ar
wate123_Jun has quit [Ping timeout: 252 seconds]
<zao>
simbergm: "good" news, you can see the use of -lhwloc -lboost_program_options etc. in the unmodified phylanx CI container if you build with -v.
Abhishek09 has joined #ste||ar
<Abhishek09>
Hashmi: Have u prepared ur proposal?
wate123_Jun has joined #ste||ar
wate123_Jun has quit [Ping timeout: 252 seconds]
<Hashmi>
@Abhishek09: finalising it
<Hashmi>
There was a problem with my sample code so fixing that
<simbergm>
zao: I'd say that's good news
<simbergm>
thanks! I'll give that a go
wate123_Jun has joined #ste||ar
wate123_Jun has quit [Ping timeout: 240 seconds]
ibalampanis has joined #ste||ar
ibalampanis has quit [Remote host closed the connection]
<Abhishek09>
zao?
mdiers[m] has joined #ste||ar
wate123_Jun has joined #ste||ar
wate123_Jun has quit [Ping timeout: 252 seconds]
<mdiers[m]>
Is there a performance impact with HPX_HAVE_MAX_CPU_COUNT=128 instead of 64?
Abhishek09 has quit [Remote host closed the connection]
Abhishek09 has joined #ste||ar
<zao>
Abhishek09: Yes? I'm in a video meeting atm.
wate123_Jun has joined #ste||ar
wate123_Jun has quit [Ping timeout: 240 seconds]
Abhishek0912 has joined #ste||ar
Abhishek09 has quit [Ping timeout: 240 seconds]
<simbergm>
mdiers: it's unlikely that it'll have a large impact
<simbergm>
it depends a bit on the scheduler how they use cpu masks internally
<simbergm>
the default one doesn't use them directly in the main scheduling loop (as far as I can remember)
wate123_Jun has joined #ste||ar
<simbergm>
the difference is that with 64 the cpu masks are just a 64 bit unsigned int, whereas with 128 it'll use std::bitset for the masks
<simbergm>
mdiers: ah yes, that one affected you as well
<simbergm>
we'll try to get that in soon as well
<simbergm>
note though that e.g. the block executor doesn't rely on that functionality anymore, so your problems may already be fixed
<mdiers[m]>
<simbergm "the difference is that with 64 t"> ah then I also understand the message, I was surprised that not 128 is reported, then make sense with the bitset.
gonidelis has joined #ste||ar
Abhishek0912 has quit [Remote host closed the connection]
gonidelis has quit [Remote host closed the connection]
nikunj97 has quit [Ping timeout: 252 seconds]
wate123_Jun has joined #ste||ar
gonidelis has joined #ste||ar
nikunj97 has joined #ste||ar
<Abhishek09>
nikunj97 Check my final proposal . if you want change tell me soon
<Abhishek09>
@/all
Pranavug has joined #ste||ar
<simbergm>
zao: small update: I could reproduce what you saw
Pranavug has quit [Quit: Leaving]
<simbergm>
using the FindBoost targets properly gives me the full paths both for the python module and phylanx itself
<simbergm>
pybind does something naughty as well though, because compiling two dummy libraries, one set up with the pybind function and one add_library, the pybind one loses boost paths
<simbergm>
(not if using the boost targets again...)
<simbergm>
hwloc is still a problem though
<simbergm>
did you also have hwloc in LIBRARY_PATH while linking?
<hkaiser>
simbergm: so using Boost targets seems to solve the issues?
<hkaiser>
thanks for investigating anyways!
<simbergm>
hkaiser: yeah, which is not entirely surprising
<hkaiser>
right
<simbergm>
we were only forwarding the library names and include directories
<simbergm>
I don't get what the pybind function is doing though, and I might not investigate...
<hkaiser>
we can just report it to them
<hkaiser>
btw, we've received 10 GSoC proposals by now - more to come
<weilewei>
jbjnr what are three containers and algorithms you mean?
<heller1>
nikunj97: so, in general, the technique is to perform cache blocking and tile the loops. The wave front and dataflow approach go into the direction of not only perform blocking in the spatial (aka grid), but also temporal (aka between iterations) domain. I am still looking for a paper from fellows at uibk utilising a pyramid scheme (similar to here: https://arxiv.org/abs/1410.3060)
<nikunj>
heller1: I completely forgot to remind you.
<heller1>
all of those are perfect for HPX
<heller1>
well, I didn't forget ;)
<nikunj>
Let me go through the papers and ask you doubts
<simbergm>
it might give you some inspiration and if you'd like to get in contact with them I can give you some names
<nikunj>
simbergm: thanks a lot!
<nikunj>
Btw heller1 naive implementation is still performing really well for given arithmetic intensity.
<heller1>
good good
<nikunj>
I will have all the results tomorrow. I'll show you the plots then
<heller1>
the wider the stencil, the more impact on the memory system ;)
<heller1>
cool!
<Abhishek09>
nikunj: Please see my my proposal . Is anything i have to change?
<nikunj>
Abhishek09: did you make any changes?
<nikunj>
I'd say you finalize your proposal now.
<Abhishek09>
Yes , That i want to see as final
<Abhishek09>
nikunj
<heller1>
nikunj: so what is your conclusion on your vector<vector<>> proposal?
<nikunj>
Not good
<nikunj>
I thought it'll provide better performance since single data line will will get into cache
<nikunj>
While cpu will have to carry more workload to ger addressing right, it is still not beneficial overall
<Abhishek09>
nikunj97: See my proposal as final , so that i can finalise it
<nikunj>
heller1: I believe that single contiguous memory layout makes sure to fill complete cache line with as much contiguous memory as possible providing both cpu addressing efficiency and cache efficiency.
<nikunj>
Abhishek09: you can finalize it
<heller1>
nikunj: vs[i][j] just means an additional memory indrection, two loads instead of one. and not even linear loads, but more or less random
<Abhishek09>
nikunj: You have seen my changes?
<heller1>
nikunj: yup, that as well, CPUs have some very nice prefetching algorithms
<wate123_Jun>
Good luck y'all.
<nikunj>
Abhishek09: yes, they're fine. You can finalize
<Abhishek09>
Thanks nikunj
<nikunj>
heller1: right! I finally understand your point from yesterday.
<heller1>
;)
<nikunj>
It's really nice to see such hardware optimizations from micro benchmarks
<nikunj>
Now I'll wait for all preliminary benchmark results and I'll read the papers meanwhile.
karame_ has joined #ste||ar
<hkaiser>
heller1, nikunj: good that c++20 removed the operator,() as an overload inside brackets [a,b,c]... so we can now avoid doing the double indirection and still use the array notation...
<nikunj>
hkaiser: nice!
<K-ballo>
it was not removed, just deprecated
<hkaiser>
K-ballo: right, that's what I meant
<K-ballo>
but that means nothing really changed, and we can't do anything we couldn't before
<hkaiser>
time flies, so it will be gone soon ;-)
<hkaiser>
K-ballo: sure, we could use operator()() instead of operator[]()
<heller1>
proxy returns ;)
<hkaiser>
messy
<heller1>
yup, but makes it syntactically possible
<K-ballo>
certainly, that's something we could do before
wate123__ has joined #ste||ar
akheir has joined #ste||ar
<weilewei>
hkaiser I updated my proposal draft, can you take a look when time permits? thanks!
<hkaiser>
weilewei: will do
<weilewei>
:)
<hkaiser>
K-ballo: funny, as every year (at least) one of the GSoC students has ranked his c++ knowlegde with 5 (out of 5)
wate123_Jun has quit [Ping timeout: 252 seconds]
<hkaiser>
weilewei: I think your proposal is too ambitious
<weilewei>
hkaiser oops, what small steps should I take then?
<hkaiser>
I don't think you'll be able to integrate libcds _and_ use it for an hpx scheduler
<hkaiser>
I'd be more than happy if you just did the former
<weilewei>
ok, that's what jbjnr suggested in the comments...
<weilewei>
but it seems that creating concurrent data structure is no need?
<hkaiser>
sure,he is the mentor, however as allways - I'd prefer a solid proposal for less work than a overly ambitious one that is difficult to complete
<weilewei>
Or do you mean just integrating libcds into HPX is good enough work for the proposal?
<hkaiser>
absolutely!
<weilewei>
nice
<hkaiser>
if you're done early you can always work on the scheduler, no problem
<weilewei>
is there any use case? Or what small steps shall I put there. how to create smaller tasks?
<K-ballo>
shows how little they know
K-ballo has quit [Remote host closed the connection]
K-ballo has joined #ste||ar
nan11 has joined #ste||ar
Abhishek09 has quit [Remote host closed the connection]
nan11 has quit [Remote host closed the connection]
nan11 has joined #ste||ar
<Yorlik>
A future can migrate together with a component having, is that correct?
<heller1>
nope
<Yorlik>
Imean component having it
<heller1>
a future can not migrate
<Yorlik>
OK - so any exceptiuon handling coming from open actions must be done before the object is travelling
<Yorlik>
Or delegated to something remaining on the locality
<heller1>
A component can migrate. If there is an action in flight while a component is migrating, the action will follow and will be executed on the new location
<heller1>
migration only starts after all actions finished execution (either via exception or regular control flow)
<Yorlik>
But the sender having the future cannot migrate?
<heller1>
no
akheir has quit [Read error: Connection reset by peer]
<Yorlik>
OK - thanks !
akheir has joined #ste||ar
shahrzad has joined #ste||ar
diehlpk_work has joined #ste||ar
akheir has quit [Read error: Connection reset by peer]
akheir has joined #ste||ar
<nan11>
anyone else could open blaze library wiki page?
nikunj97 has quit [Remote host closed the connection]
nikunj97 has joined #ste||ar
<nan11>
wate123__ yes. I cannot open the webpage by my computer since yesterday. But can open it by my phone.
<hkaiser>
Yorlik: the object will simply not migrate as long as there are operations in flight
<Yorlik>
IC. Thanks.
<hkaiser>
even if you issue a migrate(objid, to_locality), the operation itself will be delayed until no pending operations are in flight (those that have been triggered before the migrate) and will hold back any new operations that are scheduled for the object until after the migration was finished
<wate123__>
@nan11 you might have some proxy setting on your browser that prevent you access the site.
<hkaiser>
Yorlik: ^^
<nan11>
wate123__ okay. Will check that. Thanks.
bita has joined #ste||ar
<Yorlik>
hlaiser: Makes a lot of sense- and makes my life easier :)
<Yorlik>
hkaiser ^^
<Yorlik>
I think I'm doing something wrong in my exception handling:
<Yorlik>
In the moment I am storing the future I get from sending a message
<Yorlik>
The plan is to check the futures at a defined point in time
<nan11>
wate123__ weilewei suggests to disable the vpn to LSU and it works now
<Yorlik>
and take consequences if any exceptions bubble up.
<Yorlik>
But I still am getting unhandled exceptions from the actions causing them, despite I still have the future.
<Yorlik>
I think I'm missing something.
<wate123__>
@nan11 great haha
<hkaiser>
Yorlik: if you have an async and you see unhandled exceptions from the action triggered by that async - please create a reproducing use case - this shouldn't happen
nikunj97 has quit [Ping timeout: 240 seconds]
<Yorlik>
I have one idea - might be my deletion handling killing the futures -- checking ...
akheir has quit [Read error: Connection reset by peer]
akheir1 has joined #ste||ar
gonidelis has quit [Remote host closed the connection]
rtohid has joined #ste||ar
Abhishek09 has joined #ste||ar
Abhishek09 has quit [Remote host closed the connection]
shahrzad has quit [Ping timeout: 252 seconds]
Hashmi has quit [Quit: Connection closed for inactivity]
shahrzad has joined #ste||ar
ibalampanis has joined #ste||ar
<ibalampanis>
Hello to everyone! Have a nice day!
<Yorlik>
o/
<Yorlik>
Everything seems to work now.
<Yorlik>
Created 1000 objects sending messages to each other and dying over time with 10% chance per frame.
<Yorlik>
The problem was to really keep and handle all the futures and finalize the objects properly at the end of the frame and keep not-ready futures and objects around until done.
<Yorlik>
I'm pretty sure I'll have to improve and optimize over time, but I think I have the basic principle understood now.
<Yorlik>
Thanks a lot heller1 and hkaiser for all the help!
Hashmi has joined #ste||ar
nikunj97 has joined #ste||ar
<hkaiser>
Yorlik: cool
<nikunj97>
heller1, just went through your paper. I have a few questions. I'll continue reading on other papers as well and create a collection of questions. Will you be free for a call tomorrow or Friday?
<nikunj97>
I'll make sure to go through the papers you've sent before the call
<nikunj97>
heller1, also, I've never worked with non uniform grids in stencils. It'll be nice if you could send some resources that I can take a look at.
<Yorlik>
hkaiser: Basically what I'm doing now is creating a finalizer lambda when an object gets destroyed that gets called at the end of a frame and which checks if all futures are ready and handled. If any futures are not ready I just keep the finalizer around and run it again next frame.
<hkaiser>
Yorlik: it's a matter of adding additional dependencies in the end
<Yorlik>
The complex structure of my objects (Lua - C++) makes it necessary unfortunately.
<Yorlik>
The result basically is, that I have a form of limited exception handling in Lua, since I can propagate an exception, by sending an error event to Lua from C++
<ibalampanis>
bita: Are you here?
<bita>
yes
<bita>
ibalampanis, here :)
<ibalampanis>
Could you check my proposal before I submit it?
<ibalampanis>
I have updated it!
<bita>
Okay, I will check it now
<ibalampanis>
Thanks a lot!
<nikunj97>
hkaiser, do you know which paper introduced the simd TS in C++? I'd like to read it
<ibalampanis>
focus on 2.4, 3.2, 3.3
<nikunj97>
ik it's part of parallelism TS v2
<hkaiser>
parallelism TS V2: was p0215
<nikunj97>
thanks!
<hkaiser>
p0214 that is
<nikunj97>
found it
shahrzad has quit [Ping timeout: 240 seconds]
<hkaiser>
nikunj: officially it's a release ISO document, so you will not find it without paying, but p0214 should be fairly close to what's in the parallism TS V2
<nikunj97>
ISO documents are not free to see :/
<hkaiser>
that's what I meant
<K-ballo>
P documents are not ISO documents
<nikunj97>
that's sad. Alright, let me read through p0214
<hkaiser>
let me see if I can see it
<K-ballo>
wg21.link/p0214
<hkaiser>
nikunj: the latest draft for teh TS V2 is N4793
<nikunj97>
let me try if I can see it
<hkaiser>
N4796, even
<hkaiser>
wg21.link/n4796 should work
<nikunj97>
hkaiser, found it
<nikunj97>
thanks!
shahrzad has joined #ste||ar
<bita>
ibalampanis, thanks for the updates. I think it is good to go now
<ibalampanis>
bita: Is that better now? I'll mention blaze right now!
<bita>
ibalampanis, yes, thanks for your efforts
<ibalampanis>
bita: Thank you for your time.
<bita>
thanks for your interest
<ibalampanis>
bita: Thanks for correcting me on syntax and vocabulary!
<bita>
No problem :)
<ibalampanis>
Now I can submit it!
<bita>
Great
ibalampanis has quit [Ping timeout: 240 seconds]
shahrzad has quit [Ping timeout: 240 seconds]
<Yorlik>
jbjnr: yt?
shahrzad has joined #ste||ar
shahrzad has quit [Client Quit]
gonidelis has joined #ste||ar
nan11 has quit [Ping timeout: 240 seconds]
nikunj97 has quit [Quit: Leaving]
nan11 has joined #ste||ar
nan11 has quit [Remote host closed the connection]
akheir1 has quit [Read error: Connection reset by peer]
Abhishek09 has joined #ste||ar
akheir1 has joined #ste||ar
<Abhishek09>
hkaiser: How many proposal this #ste||ar has recieved?
<Abhishek09>
10?
<hkaiser>
somewhere around a dozen or so
<Abhishek09>
out of 12, i think 5-6 will be selected
Hashmi has quit [Quit: Connection closed for inactivity]
nan11 has joined #ste||ar
Hashmi has joined #ste||ar
wate123__ has quit [Remote host closed the connection]
wate123_Jun has joined #ste||ar
wate123__ has joined #ste||ar
wate123_Jun has quit [Ping timeout: 246 seconds]
wate123__ has quit [Ping timeout: 252 seconds]
<diehlpk_work>
nikunj, jbjnr simbergm bita heller1 hkaiser akheir1 parsa nan11 Please look at the proposals and click the "I like to mentor" button for the one you like to mentor by the end of this week
rtohid has quit [Ping timeout: 240 seconds]
<hkaiser>
diehlpk_work: will do
wate123_Jun has joined #ste||ar
<nan11>
diehlpk_work okay
wate123_Jun has quit [Remote host closed the connection]
<diehlpk_work>
Abhishek09, We are not allowed to communicate any details about the application process yet
<Abhishek09>
diehlpk_work: have u seen my proposal?
<diehlpk_work>
Abhishek09, Yes
<Abhishek09>
How it is? What i have missed?
<Abhishek09>
diehlpk_work
<diehlpk_work>
Abhishek09, We neither are allowed to communicate about the proposals during the review phase either
<Abhishek09>
diehlpk_work Oh , ok
<diehlpk_work>
nikunj, jbjnr simbergm bita heller1 hkaiser akheir1 parsa nan11 You should have received an email for the rating of the proposals.
<diehlpk_work>
Please let me know if I forgot to add you to the mailing list for mentors
<bita>
diehlpk_work, yes, I am gonna do that now
gonidelis has quit [Ping timeout: 240 seconds]
<nan11>
diehlpk_work yeah, I have received. Will do it now
gonidelis has joined #ste||ar
<bita>
diehlpk_work, unfortunately, I don't have a cct email. I am not sure how to login to mail.cct.lsu.edu shouldn't we use the email that we have used in theproject descriptions?
<nan11>
bita you use your gmail to log in
<hkaiser>
diehlpk_work: see pm, pls
<bita>
got it, thans nan11
rtohid has joined #ste||ar
<zao>
Abhishek09: All you can do in this phase is to twiddle your thumbs and prepare until the next time you need to take action, I believe.
<Abhishek09>
zao: Thanks
<zao>
If there were things you didn't get around looking at before the submission deadline, now could be a time to do so, with the caveat that if you're not chosen you might've wasted some effort. On the other hand, it could be educational.
<Abhishek09>
zao: i have changed some idea before submission of proposal
nikunj has quit [Read error: Connection reset by peer]
nikunj has joined #ste||ar
bita_ has joined #ste||ar
nikunj has quit [Ping timeout: 240 seconds]
nikunj has joined #ste||ar
bita has quit [Ping timeout: 240 seconds]
nikunj has quit [Read error: Connection reset by peer]
nikunj has joined #ste||ar
Hashmi has quit [Quit: Connection closed for inactivity]
nan11 has quit [Ping timeout: 240 seconds]
wate123_Jun has joined #ste||ar
Abhishek09 has quit [Remote host closed the connection]
rtohid has quit [Remote host closed the connection]
gonidelis has quit [Remote host closed the connection]
rtohid has joined #ste||ar
nan11 has joined #ste||ar
akheir1_ has joined #ste||ar
akheir1 has quit [Ping timeout: 250 seconds]
rtohid has quit [Ping timeout: 240 seconds]
karame_ has quit [Remote host closed the connection]
nan11 has quit [Remote host closed the connection]
<bita_>
hkaiser, do you have a minute?
<hkaiser>
bita_: I'm in a meeting, would a bit later still work?
<bita_>
of course
weilewei has quit [Remote host closed the connection]
akheir1_ has quit [Read error: Connection reset by peer]