<zao>
I'm two weeks behind on commits it seems, guess I should try master.
<zao>
(a14da8f)
<zao>
Got around building with -HPX_WITH_MALLOC=system as gperftools resulted in allocator errors in test runs.
<hkaiser>
zao: hmm, CI passed
<hkaiser>
lloks like your python doesn't find the primitives
<hkaiser>
might be that rpath issue
<zao>
I'm building via EasyBuild, not sure if it does naughty things to RPATHs.
<hkaiser>
zao: let's talk tomorrow
<hkaiser>
I'm out for today
hkaiser has quit [Quit: bye]
<zao>
Yeah, I should be sleeping already, just wanted to mention it while I had it in memory.
shahrzad has quit [Ping timeout: 256 seconds]
wate123_Jun has quit [Remote host closed the connection]
bita has joined #ste||ar
bita has quit [Client Quit]
wate123_Jun has joined #ste||ar
shahrzad has joined #ste||ar
wate123_Jun has quit [Ping timeout: 240 seconds]
wate123_Jun has joined #ste||ar
shahrzad has quit [Quit: Leaving]
wate123_Jun has quit [Ping timeout: 240 seconds]
wate123_Jun has joined #ste||ar
wate123_Jun has quit [Ping timeout: 256 seconds]
Amy1 has quit [Remote host closed the connection]
Amy1 has joined #ste||ar
wate123_Jun has joined #ste||ar
wate123_Jun has quit [Ping timeout: 256 seconds]
wate123_Jun has joined #ste||ar
wate123_Jun has quit [Ping timeout: 240 seconds]
ibalampanis has joined #ste||ar
<ibalampanis>
Hello to everyone! Have a nice day!
<ibalampanis>
zao: Are you in daylight? Is your local time 4:12 or 3:12 in New Orleans?
<zao>
ibalampanis: I don't know what DST they have over there, I'm in CEST.
<ibalampanis>
Ohh, it's ok
<zao>
The group is here and there on the globe, several are at LSU in New Orleans, some are in Germany, some in Switzerland.
<ibalampanis>
zao: Yeah, Because yesterday you answer to me about central zone time
wate123_Jun has joined #ste||ar
wate123_Jun has quit [Ping timeout: 240 seconds]
iti has joined #ste||ar
iti has quit [Client Quit]
Abhishek09 has joined #ste||ar
wate123_Jun has joined #ste||ar
wate123_Jun has quit [Ping timeout: 256 seconds]
<ibalampanis>
Hello Abhishek09 ! Are you interested in GSoC?
ibalampanis has quit [Remote host closed the connection]
Abhishek09 has quit [Remote host closed the connection]
wate123_Jun has joined #ste||ar
wate123_Jun has quit [Ping timeout: 240 seconds]
Abhishek09 has joined #ste||ar
nikunj97 has joined #ste||ar
nikunj97 has quit [Client Quit]
wate123_Jun has joined #ste||ar
wate123_Jun has quit [Ping timeout: 256 seconds]
wate123_Jun has joined #ste||ar
wate123_Jun has quit [Ping timeout: 256 seconds]
ibalampanis has joined #ste||ar
Abhishek09 has quit [Remote host closed the connection]
nikunj97 has joined #ste||ar
wate123_Jun has joined #ste||ar
wate123_Jun has quit [Ping timeout: 256 seconds]
wate123_Jun has joined #ste||ar
hkaiser has joined #ste||ar
wate123_Jun has quit [Ping timeout: 240 seconds]
wate123_Jun has joined #ste||ar
wate123_Jun has quit [Ping timeout: 256 seconds]
iti has joined #ste||ar
<iti>
@diehlpk_mobile : Hello Patrick, you there ?
wate123_Jun has joined #ste||ar
wate123_Jun has quit [Ping timeout: 240 seconds]
<diehlpk_mobile[m>
Iti Yes?
<diehlpk_mobile[m>
How can I help?
<iti>
I have completed my proposal, I was wondering if you can provide some feedback>
<iti>
?*
wate123_Jun has joined #ste||ar
<ibalampanis>
iti: Hello, Which is the project that you intersted in?
Abhishek09 has joined #ste||ar
<Abhishek09>
ibalampanis: Hey, what u are asking last time?
<iti>
Hi ibalampanis! I'm interested in implementing iterative solvers :)
<ibalampanis>
Abhishek09: Hello! I 'd like to ask you if you 're intersted in GSoC
<ibalampanis>
iti: Good luck mate!
<Abhishek09>
ibalampanis: Yes
<Abhishek09>
ibalampanis:Wbu?
<Abhishek09>
ibalampanis
<ibalampanis>
Just for chat mate! Good luck to you too!
<Abhishek09>
ibalampanis?
<ibalampanis>
I'm interested in Test Framework for Phylanx Algorithms
<Abhishek09>
ibalampanis: i m intrested to make phylanx pip installable
<Abhishek09>
where r u from?
<ibalampanis>
I'm from Greece! What about you?
<Abhishek09>
ibalampanis: India +91
<diehlpk_mobile[m>
Iti sure I will write you an email
wate123_Jun has quit [Remote host closed the connection]
iti has quit [Ping timeout: 252 seconds]
wate123_Jun has joined #ste||ar
iti has joined #ste||ar
<Abhishek09>
nikunj97: Have seen my proposal?
<nikunj97>
Abhishek09, no.
<nikunj97>
where is it?
<Abhishek09>
nikunj97: i think you are mentor you have acess to see
<nikunj97>
ohh you sent it to google?
<Abhishek09>
Yes , already drafted
<Abhishek09>
login as mentor and see
<nikunj97>
I'll go through it in sometime
<Abhishek09>
I does planned a timeline
<Abhishek09>
i will plan it later with you
<Abhishek09>
nikunj97
<nikunj97>
k
<Abhishek09>
i doesn't planned
<Abhishek09>
We will dicuss how would we go nikunj97
<Abhishek09>
through timeline in a short
<nikunj97>
sure, I'll go through the proposal in some time
gonidelis has joined #ste||ar
<Abhishek09>
nikunj97 Does i have to contact rtohid to review the proposal?
<Abhishek09>
or he can see upto monday
<Abhishek09>
?
<nikunj97>
Abhishek09, rtohid is not an official mentoring this year
<nikunj97>
he won't be able to see it
<Abhishek09>
That means you are enough to final my proposal nikunj97
<Abhishek09>
Am i right?
<nikunj97>
Abhishek09, it doesn't work that way
<Abhishek09>
Then who will final my prposal ? nikunj97
<nikunj97>
it'll be a collective decision afaik
<Abhishek09>
Ok i will ping u after 1 hour nikunj97
<heller1>
Correct
<nikunj97>
does hpx::dataflow return a future<void> or do I have something wrong going in my program?
<nikunj97>
my bad, was using using different types. unwrapped to void :D
<wate123_Jun>
Hi mentors! I submitted my draft proposal. I would appreciate if you could provide any suggestions or feedback. Thanks!
<Abhishek09>
wate123_Jun: Which project u are working?
<wate123_Jun>
Ah forgot to mention that my proposal is on implement the iterative solvers.
<hkaiser>
wate123_Jun: distributed solvers?
<wate123_Jun>
yea. particularly the BiCGSTAB L and LSQR
<zao>
I'm not sure if I'm running `make tests` wrong in some way, a bunch of them have an exit code of 255 with no output and some are segfaulting with a HPX-like crash handler.
<zao>
Are some of those expected-failure and not handled as such?
<hkaiser>
zao: do you install phylanx? or do you run it from the build directory?
<zao>
This is before installing.
<zao>
I'm running make, make tests, and haven't gotten to make install yet.
<hkaiser>
ok
<hkaiser>
why does it work on circleci?
<hkaiser>
that's just a normal run-of-the-mill linux environment
<Abhishek09>
hkaiser: i already draft proposal . Please review it
<hkaiser>
alright
<zao>
Yeah, not sure about why this is.
<zao>
This is with all the libraries, the toolchain, and Python via Lmod modules.
<zao>
Looking at the regression tests, the ones that pass are run via phylanxrun.py, while the ones that fail are run directly with Python and a PYTHONPATH set.
<hkaiser>
interesting
<hkaiser>
I wouldn't know why they are run differently :/
<zao>
There's some few Pass in the latter group as well.
<Abhishek09>
hkaiser: i have planned the project timeline .Please don't worry about that . I will write later
<Abhishek09>
not planned
K-ballo has quit [Quit: K-ballo]
<zao>
hkaiser: Your test env runs build with Ninja, in Debug, with Clang 9.0.0 and C++17 forced.
<hkaiser>
yes
<zao>
I'm using GNU Make, in Release, with GCC 8.3.0 and the build is determining it's C++14.
<zao>
Python versions seem similar enough at least, I'm on 3.7.2 and you're on 3.7.4.
<hkaiser>
the standard flavor shouldn't matter
<hkaiser>
Debug/Release actually could
<hkaiser>
didn't know the tests could be run in release - but there you go ;-)
<zao>
It's customary for all the software we build that the test suite passes, regardless of build flavour.
<zao>
How else are you supposed to know that the bare minimum of it works? :)
<hkaiser>
yah sure
<hkaiser>
no objections there
<hkaiser>
I just can't keep up with all of this...
<zao>
I'm gonna spin off a Debug build of HPX and Phylanx, see if it fares any differently.
<zao>
Just curious as to why it doesn't work well on my machine.
<zao>
I don't have any actual reason to use HPX and Phylanx as usual, just building just-in-case I need the knowledge about it for the upcoming GSoC season.
<hkaiser>
thanks!
<ibalampanis>
gonidelis: Are you from Greece?
<Abhishek09>
nikunj97: have you checked the proposal?
<ibalampanis>
hkaiser: Bita has answered to me and requested from me a zoom meeting. I'm a little bit anxious..
<hkaiser>
ibalampanis: bita is a nice person, no worries
<gonidelis>
ibalampanis yes...
<ibalampanis>
@go
<ibalampanis>
gonidelis: Are you interested in GSoC? Δεν ξερω αν πρεπει να γραψω ελληνικα :P
<ibalampanis>
gonidelis: I'm not sure if greek is agood idea :P
<gonidelis>
You have a pm
<ibalampanis>
Okk!
<ibalampanis>
hkaiser: Thanks for your support!
<Abhishek09>
ibalampanis: You can write greek here also
<hkaiser>
you guys are the first ones in the HPX community that come from Greece \o/
<gonidelis>
Haha... there was also another guy a week ago but he has yet to show up...
<ibalampanis>
Interesting!
<zao>
Abhishek09: While IRC supports local scripts, it tends to be good for community interaction if we stick to a common language.
<gonidelis>
zao (y) agreed
iti has joined #ste||ar
<Yorlik>
But Greek looks so pretty and magical!
<Yorlik>
For aesthetic reason a greek line should be allowed every now and then ;)
<gonidelis>
οκ I wιll make sure tο provide yoυ with α line eνey oτher weeκ '=D
<Yorlik>
I could give you some cool German Umlauts as bärenstarke Rückgabe :)
* zao
hands out free räksmörgås samples
<Yorlik>
(= strong as a bear return)
<gonidelis>
hey I am currently learning German.... ;p I got the 'barenstarke' part
<Yorlik>
zao: How about Rødgrød med Fløde ?
<zao>
That would be either danes or norwegians ^^
<zao>
Considering how horrible it sounds to say, definitely danes.
<Yorlik>
Danes
<hkaiser>
as Tucholski once said: the Danes speak a different kind of German compared to the Norwegians
<zao>
^^
<Yorlik>
Some say Danish is like Norwegian with a potato in your mouth.
<zao>
Time to rebuild HPX _again_.
<zao>
Turns out that -DHPX_CXX_COMPILER isn't the same as -DCMAKE_CXX_COMPILER :D
<hkaiser>
is it now?
<heller1>
Was it ever?
<hkaiser>
I don't think you're supposed to set HPX_CXX_COMPILER
<zao>
I need more cores, takes 10 minutes to build.
<zao>
hkaiser, heller1: Yeah, just a mental typo when trying to change my compiler.
<zao>
Would've caught it if I had looked at the CMake output.
iti has quit [Ping timeout: 265 seconds]
<Yorlik>
What would be the equivalent of a weak_ptr in id_type speak? I cannot have object not migrate just because someone has an id_type of it. I just need the reference.
<hkaiser>
Yorlik: hpx::unmanaged(id)
<hkaiser>
Yorlik: but I think you misunderstood
<hkaiser>
migration is not prevented by holding an id_type to an object
<hkaiser>
migration is prevented by holding a shared_ptr returned from get_ptr<>
<Yorlik>
Oh - itrs a shared_ptr to the real object then?
<Yorlik>
Right - it was a misunderstanding
<Yorlik>
issue solved - non-issue
<Yorlik>
:)
<Yorlik>
hkaiser: Thanks!
<hkaiser>
Yorlik: in fact you _need_ to have an id_type to do migration
<Yorlik>
True - lol
<Yorlik>
How would I delete am id_type then?
<Yorlik>
I am creating it and storing an id_type in a local pool.
<Yorlik>
That seemed to keep it alive
<Yorlik>
But if I need to destroy it - I cannot afford to traverse the entire cluster for references
<Yorlik>
I need exception if so tries to use an invalid reference
<Yorlik>
hkaiser: aftermath question ^^
<nikunj97>
hkaiser, one question
iti has joined #ste||ar
<hkaiser>
Yorlik: object will be deleted whenever the last reference to it goes out of scope
<nikunj97>
can I bind hpx threads to a certain cpu thread?
<hkaiser>
no
<zao>
A Debug build with the same toolchain fails in a similar manner, it seems. Clang build underway I hope.
<hkaiser>
zao: ok, thanks for checking
<nikunj97>
what do I do when I don't want to make use of hyperthreading and I can't disable it coz no one wants to go onsite in this coronavirus situation?
<Yorlik>
hkaiser: my objhects seem to survive by just holding an id_type in a pool. I probably got sth horribly wrong.
<hkaiser>
sure
<hkaiser>
as long as there is an id_type alive, the object will not be deleted
<zao>
nikunj97: Can't you pin to particular cores or something?
<hkaiser>
id_type works like a global shared_ptr
<nikunj97>
zao, does HPX allow that?
<hkaiser>
zao: HPX threads can be stolen at any synchronization point
<zao>
hkaiser: I mean, tell localities to run on a subset of the cores available.
<Yorlik>
hkaiser: I cannot afford this. I need to be able to delete anyways and get an error on use of an invalid ref
<zao>
Like some sort of topology hack.
<hkaiser>
nikunj97: hyperthreading: use only as many hpx threads as you have cores (without HT
<nikunj97>
zao, topology hacks are what I'm looking for
<hkaiser>
i.e. --hpx:threads=<number-of_cores>
<nikunj97>
so if I have 2 numa domains and i use cores equivalent to 1
<nikunj97>
will it run on that one?
<hkaiser>
no idea what you're talking about
<hkaiser>
Yorlik: huh?
<Yorlik>
I think I need hpx::unmanaged(id)
<hkaiser>
how do you know that a reference is invalid?
<Yorlik>
By getting an exception?
<hkaiser>
Yorlik: so consider you have a shared_ptr to an object, copied all over the place
<Yorlik>
E.g. I might store a reference just to cache a search result
<nikunj97>
I meant if I had 2 CPUs with 16 cores, 32 hyperthreads. and I provide 32 cores, will it be equivalent to running on both CPUs or will it leverage hyperthreads as well at some point?
<hkaiser>
now you take one of them and explicitly delete the memory: 'delete sp.get()'
<hkaiser>
what would expect to happen?
<nikunj97>
ok my bad, got what you're saying
<hkaiser>
nikunj97: what do you mean by 'provide 32 cores'?
<Yorlik>
hkaiser: some sort of invalid access exception?
<hkaiser>
no you will see a segfault because the other shared_ptr copies still reference the deleted pointer
<Yorlik>
ARGH
<Yorlik>
hkaiser: Following use case: I run a local search: all obj in radius, then do stuff on object list. on object is deleted in between.
<Yorlik>
I need this to fail somehow
<hkaiser>
mark the object as deleted and phase it out over time
<Yorlik>
IC - so just throw on each illegal access or strh manually
<hkaiser>
yes
<Yorlik>
OK. Makes sense.
<hkaiser>
what we can certainly do (but I'm not sure this is a good idea) would be to have a is_valid flag in AGAS
<Yorlik>
So I'll go back from apply to sync and actually use the void futs
<Yorlik>
the problem is solved anyways I had
<hkaiser>
you would have to do that in any case wouldn't you?
<Yorlik>
I hadn't enough understanding of how id_types work.
<hkaiser>
even if there was a mechanism that told you the id was invalid
<Yorlik>
It's not a difficult fix. Just some polishing
<hkaiser>
well hold on, apply could throw itself in that case...
<Yorlik>
OK?
<Yorlik>
Would apply do a fut.get() imnplicitely?
<hkaiser>
no
<hkaiser>
apply does not create a future to begin with
<Yorlik>
But it would throw?
<Yorlik>
That would mean it acts sync over the wire
<Yorlik>
Otherwise it cvannot know
<Yorlik>
SO: Is it fire and forget or fire and wait for result?
<Yorlik>
with result being at least a success ack
<hkaiser>
no it does not act sync
<Yorlik>
How can it throw then?
<hkaiser>
it schedules sending the message and returns
<Yorlik>
So apply has exited already when the exception arrives
<Yorlik>
Where does it throw then?
<hkaiser>
what I meant was, that if we added a means of (logically) invalidating an id, then apply could possibly throw as the address resolution would have to be done
<Abhishek09>
nikunj97: hey how is proposal?
<hkaiser>
but that would work only if the id_type is managed by the locality the apply is executed on...
<hkaiser>
so it might not be able to throw after all in all cases
<Yorlik>
hkaiser: so bottomline is: Aplly doesn'Ät throw
<hkaiser>
yes
<Yorlik>
So back to async ...
<Yorlik>
:)
<hkaiser>
Yorlik: but even then you'd have to handle the 'object is invalid' yourself
<Yorlik>
Yes.
<hkaiser>
just don't forget, you should throw either a std:;exception or an hpx::exception
<Yorlik>
You said
<Yorlik>
own exs are not sent
<hkaiser>
all other exceptions might not be properly marshalled over the network
<Yorlik>
I'll have to see what to do with t he future.
<Yorlik>
I might just give it to a dedicated manager object
<Yorlik>
Because I can't afford to keep the lua states around any longer
<Yorlik>
Or I store it in a variable and check it next frame again
<Yorlik>
The longer I think: A dedicated fire and forget manager might be best whiuch sends a message to the object using the id_type that there was an exception and what.
<hkaiser>
Yorlik: I thought your lua states are not bound to the objects but to the hpx threads executing on the objects
<Yorlik>
No - that explodes
<Yorlik>
The Lua states are bound to the tasks
<hkaiser>
that's what I meant
<Yorlik>
When the task (batch) goes out of scope
<Yorlik>
That's what I said: I need to exit the updater, even if the future is not yet ready
<hkaiser>
but above you said 'I might just give it to a dedicated manager object, because I can't afford to keep the lua states around any longer'
<Yorlik>
So I need to save it for later or give it to a dedicated handler
<hkaiser>
that implies that lua states are somehow related to object lifetimes
<Yorlik>
I need to store the future somewhere or I have to wait until it is ready
<Yorlik>
wait = state is kept around
<Yorlik>
We want to wait
<nikunj97>
hkaiser, nothing. leave it. I misinterpreted what you said
<Yorlik>
So - I move on and when the result arrives some sort of continuation happens
<nikunj97>
Abhishek09, I went through it
<Yorlik>
Either on the same object in the next frame or in a manager
<Yorlik>
I simply need to grow the task graph instead of blocking.
<nikunj97>
it is fine. Please add a timeline to it
ibalampanis has left #ste||ar [#ste||ar]
ibalampanis has joined #ste||ar
<hkaiser>
Yorlik: why is the state kept around while you wait for the future?
ibalampanis has quit [Remote host closed the connection]
<Yorlik>
Because it's happening inside lua
<hkaiser>
ok, but I don't understand that
<Yorlik>
hkaiser: If I ask for an object deletion in lua I have the future there.
<hkaiser>
future in Lua?
<Yorlik>
So either I discard it or I use it
<Abhishek09>
nikunj97: i need your help for writing timeline
<Yorlik>
OFC in Lua
<Yorlik>
I can use it as a light userdata
<hkaiser>
ok, you lost me
<Abhishek09>
nikunj97: i don't see any ur comments .
<hkaiser>
you have objects that are referenced by id_types
<Yorlik>
The function call returns a future: Who do you think has it?
<hkaiser>
and you have tasks that execute on one or more objects
<Yorlik>
When a lua function asks to delete an object.
<hkaiser>
the latter may give you a future representing the task is done
<hkaiser>
shrug whatever
<Yorlik>
The future will not immediately have an exception, will it?
<Yorlik>
Only if it is ready
<hkaiser>
it may have an exception once it has become ready
<Yorlik>
So - at some point in time I need to handle this, and I can't wait for it in my updater for the objects
<Yorlik>
If an object asks to delete another object for example
<Yorlik>
I cannot block the updater of the asking object
<Yorlik>
So I need to store the future - in Lua - or in a special manager
wate123_Jun has quit [Remote host closed the connection]
<Yorlik>
Any remote request can fail - and if it fails I need to finalize this, or a error in the scripting system may keep around id_types that are deleted forever.
<Yorlik>
That would result in a sort of leak.
K-ballo has joined #ste||ar
<hkaiser>
that doesn't sound right
<hkaiser>
but I don't have the full picture
<Yorlik>
I need a mechanism to delete all invalidated references. At least over time.
<Yorlik>
It would be a bug in the scripting ofc.
<Yorlik>
Someone would create references to an object and keep them around
<Yorlik>
But they need to be deleted
<Yorlik>
So the object can die in peace
<Yorlik>
These errors cannot stay silent if they happen
<Yorlik>
And I'm pretty sure at some point it will happen.
iti has quit [Ping timeout: 252 seconds]
<hkaiser>
Yorlik: sure
<Yorlik>
And then we have Zombie objects
<Yorlik>
It's even worse
<Yorlik>
It needs to be possible to logout an object
<Yorlik>
So the references would be just temporarily invalidated
<Yorlik>
E.g. a player object reference
<Yorlik>
If there is a friend list and the friend is not online
<Yorlik>
It is connected to the persistent object id problem we had some time ago
<Yorlik>
And object might be dead or just unavailable
<Yorlik>
Sooiner or later we will need a way to logout an object, that is still valid but not there for the moment.
<zao>
CMake output points out the proper Boost, but something in the build finds the system one.
<zao>
The build of bin/_phylanxd.cpython-37m-x86_64-linux-gnu.so does not specify the library path for Boost, and as it just does things like `-lboost_program_options`, it links to the system Boost.
gonidelis has quit [Ping timeout: 240 seconds]
Abhishek09 has quit [Remote host closed the connection]
<hkaiser>
grrr
<hkaiser>
that's outside of our control :/
<hkaiser>
zao: but thanks for digging into things
<zao>
Isn't it all in your (Phylanx's) control?
<zao>
Something adds the libraries to the build of that module, and apparently it's not quite doing it right.
<hkaiser>
the python extension module is built by the pybind11 cmake magic
<hkaiser>
I'll have a look - might be us, after all
<hkaiser>
pybind11 does not need boost
<hkaiser>
(I think)
<hkaiser>
we might need to switch to the targets exported from hpx here as well