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/
K-ballo has quit [Quit: K-ballo]
daissgr has quit [Ping timeout: 258 seconds]
hkaiser has quit [Quit: bye]
nikunj has quit [Remote host closed the connection]
K-ballo has joined #ste||ar
hkaiser has joined #ste||ar
eschnett has quit [Quit: eschnett]
hkaiser has quit [Quit: bye]
aserio has joined #ste||ar
aserio1 has joined #ste||ar
aserio has quit [Ping timeout: 248 seconds]
quaz0r has quit [Ping timeout: 248 seconds]
aserio1 is now known as aserio
<Yorlik> OK - it seems I found a bug in my template code which I do not understand:
<Yorlik> I am using a type erased pointer struct "TeePtr" which internally uses concept-model semantics for type erasure.
<Yorlik> Inside the "model" struct it holds a std::unique_ptr ( entUPtr_ ) to the object we are managing.
<Yorlik> I get the following compile error: 'Entity_type_tracker': is not a member of 'pecs::TeePtr'
<Yorlik> I made Entity_type_tracker a typedef inside my Entities, to track proper use of the template parameter ENT.
<Yorlik> For some reason, it seems, that ENT can become a TeePtr type instead of an Entity type.
<Yorlik> I can't find any occurrence of creating a TeePtr with a pointer pointing to a TeePtr
<Yorlik> so - in theory - the type of ENT should never be deduced to TeePtr, but obviously it is happening.
<Yorlik> Project wide search did not reveal any misuse of the constructor with a wrongly typed pointer as parameter.
<Yorlik> Ideas?
<zao> Yorlik: I forget if templated unary ctors are implicit or not.
<zao> Maybe you're having surprising conversions somewhere?
aserio has quit [Ping timeout: 250 seconds]
<Yorlik> Hardly possible - i mean - crazy things can always happenm - but I tried hard not to have some stupid use of the TeePtr constructor somewhere.
<Yorlik> I checked all placec where a TeePtr is created - thre are really few, since it's so much WiP
<Yorlik> All of them clearly used pointers to entities or functions wich clearly return such pointers
<Yorlik> That's why it's driving me nuts - more nuts than usual ... ;)
nikunj has joined #ste||ar
<Yorlik> OK - outcommented the entity header and isolated teeptr - seems with little correction i can now compile my tescode - probably there is som weird implicit stuff going on in the gameobjects ...
<Yorlik> err entity heade I meant
aserio has joined #ste||ar
<Yorlik> Allright - I finally found the error:
<Yorlik> I accidentally had used this initializer for a teeeptr elsewhere: teePtr_ { pecs::TeePtr( pecs::null_ent::create( ) ) }
<Yorlik> This, indeed gave the teePtr constructor a teePtr argument instead of a entity*
<Yorlik> Changing it to this: teePtr_ ( pecs::null_ent::create( ) ) fixed it
* Yorlik bangs head on table
hkaiser has joined #ste||ar
<Yorlik> hkaiser: You just missed my template drama of the day - lol
<Yorlik> If you wanna have some fun with a newbie error read up :)
<Yorlik> The many ways how to screw up in C++ are just amazing to me
<Yorlik> It came down to a wrong template argument
<Yorlik> Once i could debug and track this I made progress.
<hkaiser> Yorlik: sure, c++ is complicated
<Yorlik> Means: Some guru doing a nice blog post about advanced template debugging would be greatly appreciated
<hkaiser> lol
<Yorlik> Actually i found a really nifty trick to verify template arguments and debug trhem at compile time
<Yorlik> this thing: using more_nonsense = typename ENT::Entity_type_tracker;
<Yorlik> helped me a ton to track misuse of ENT
<Yorlik> I think I'll put this into any template where I want to restrict the arguments to a specific class now
<Yorlik> usings have no runtime penalty, right?
<zao> They're fancier typedefs, so no.
<Yorlik> Thanks - sorry asking all this noob stuff :)
<Yorlik> Allright - taking a break ...
daissgr has joined #ste||ar
aserio1 has joined #ste||ar
aserio has quit [Ping timeout: 258 seconds]
aserio1 is now known as aserio
daissgr has quit [Remote host closed the connection]
daissgr has joined #ste||ar
lsl88 has joined #ste||ar
daissgr has quit [Remote host closed the connection]
daissgr has joined #ste||ar
daissgr has quit [Remote host closed the connection]
daissgr has joined #ste||ar
daissgr has quit [Remote host closed the connection]
daissgr has joined #ste||ar
daissgr has quit [Remote host closed the connection]
daissgr has joined #ste||ar
daissgr has quit [Remote host closed the connection]
daissgr has joined #ste||ar
daissgr has quit [Remote host closed the connection]
daissgr has joined #ste||ar
daissgr has quit [Remote host closed the connection]
daissgr has joined #ste||ar
quaz0r has joined #ste||ar
aserio has quit [Ping timeout: 248 seconds]
<diehlpk_work> Hi, lsl88
<diehlpk_work> have you seen our project description? https://github.com/STEllAR-GROUP/hpx/wiki/GSoD-2019-Project-Ideas
<diehlpk_work> Are you interested in working on one of these?
<lsl88> Hi!
<lsl88> yes :) I would like to follow the first proposal, WDYT?
<diehlpk_work> I copied the questions from the Google form to your document
<diehlpk_work> here are some details what you have to provide for your application
<diehlpk_work> I think the bullet point A detailed description is the most important
<diehlpk_work> lsl88, I think the next step would be do build the documentation of HPX on your local machine
<diehlpk_work> And discuss with parsa simbergm and me what you like to do exactly in the three or five month of GSoD
<parsa> lsl88: hello! diehlpk_work just told me you created a google docs that sketches what you plan to do during GSoD. can you also share that document with me?
<lsl88> parsa: hi! sorry, I made a mistake when I copy/pasted your mail :S
<lsl88> i will add you right now, my bad
<diehlpk_work> lsl88, The goal of this project is open-ended, but the technical writer should at least focus on one or two sections of the manual in our documentation. One first step would be to decide on which of the sections you want to work on
<parsa> thank you! i'd like to see it
<diehlpk_work> I would suggest that we finalize the sections you want to work on and we could discuss what you will exactly have to do.
<diehlpk_work> So you can start to write your summary and we can find a nice fancy title
<diehlpk_work> We would need to check what is the difference between three and five month projects
<lsl88> oh, I see
<lsl88> I was going to read the full documentation
<diehlpk_work> We want you to focus on two section only and improve these accordingly
<lsl88> great
<diehlpk_work> Please have a look into the documentation and let us know which two sections you like to work on
<diehlpk_work> We can discuss what you will do exactly later. As you have seen the application form is not too much work
<diehlpk_work> You just need to describe what you want to do
<diehlpk_work> parsa, Can you please check what is the difference between three and five month projects?
<parsa> sure
<parsa> diehlpk_work: "In the technical writer application, there is an option to apply for a long-running project, which allows technical writers to complete their project in five months instead of the standard three months. This must be agreed upon with the open source organization before work commences"
<diehlpk_work> Ok, I am fine with both
<diehlpk_work> lsl88, What would you prefer?
<lsl88> for me three months is fine, but I don't mind five months either.
<lsl88> What is best for you?
<diehlpk_work> let us do three months
<lsl88> BRB
aserio has joined #ste||ar
<lsl88> I'm back, sorry
<diehlpk_work> Perfect. Please let us know whenever you are ready on which sections you like to work on
<diehlpk_work> Take your time, read the documentation and please ask questions here in the channel
<lsl88> yes, I was going to ask you for some time to chose them, but I felt somewhat ashamed
<lsl88> choose*
<diehlpk_work> No, take your time
<lsl88> thanks :)
<diehlpk_work> Ask if you want more details about anything
<diehlpk_work> simbergm, knows most of the technical details about how the docs are generated and all others are happy to answer you questions about HPX
<lsl88> sure, thank you :) it is a new community for me, so I am kind of afraid of saying sth wrongly.
<diehlpk_work> Do not be afraid, even I working on HPX for a long time say sth wrong sometimes
<lsl88> I have a question about the programme
<lsl88> I could not find it, is it a 40 hour a week programme or is it goal-oriented? I can't find it.
<parsa> lsl88: it's goal oriented
<lsl88> and thanks :) I'm always hanging around IRC
<diehlpk_work> The program is designed that technical writer can work on it next to their day job to gain more experience and improve their CV
<lsl88> oh great
<diehlpk_work> We will not track your working hours as long as we see that you working on it is fine
<lsl88> I see
<diehlpk_work> if you need some time off, it is fine too, You just should let us know that during this time you will work less or nothing.
<lsl88> no, for now it is fine
<diehlpk_work> Therefore, some time later you will work more
<lsl88> oh, for me it is fine, I'd rather have a constant pace, but thanks for letting me know that :)
<lsl88> so three months is OK for me, and I promise to have the sections of the manual asap
<lsl88> BTW, I have just seen that HPX works with SLURM! nice!
<lsl88> oh sure, I was planning to install HPX, don't you think it is important too?
<diehlpk_work> Yes, it is a good idea to install HPX
<lsl88> I have found that a link is down https://rostam.cct.lsu.edu/
<lsl88> :/
<parsa> lsl88: rostam is our cluster. it's very much up and running
<parsa> what are you looking at?
<parsa> are you looking at the instructions for building HPX on Rostam?
<lsl88> parsa: oh, I get an "Unable to connect" to the site
<lsl88> I was reading the documentation
<parsa> where do you find this link?
<Yorlik> Allright - seems after the usual silly mistakes my allocators and type erased pointers finally work and I'm now approaching GameObject before doing the server core simulation loop. I want to proceed with test driven development in an efficient non-compulsory, but still somewhat strict approach. Do you guys here have any suggestions for frameworks / general guidelines / good tutorials for this?
<Yorlik> We are using CMake, so CTest is in the discussion.
<Yorlik> And one of our guys is working on a CI / CD setup with a jenkins container
<parsa> good catch, that's the buildbot page... i'll go tell the admin
<parsa> thanks
<lsl88> you are welcome :)
<parsa> update: buildbot page works but it's HTTP, doesn't have HTTPS... we should update that link
<hkaiser> Yorlik: CTest gives you the infrastructure to run tests and report results, but nothing to actually implement tests
<Yorlik> Do you have any suggestion how to make your life easy with tests and not crippling them ?
<Yorlik> (in as easy as possible - not trying to avoid the important work)
<hkaiser> Yorlik: in HPX we use a _very_ simple, lightweight header only solution
<hkaiser> has worked very nicely compared to more heavyweight things like catch2 or gtest
<hkaiser> or even - god beware - boost.test
<Yorlik> You mean hpx/util/lightweight_test.hpp ?
<hkaiser> yes
<Yorlik> So for you essentially it is homebrewn framework + CTest?
<hkaiser> yes
<parsa> lsl88: found it. thanks
<Yorlik> Allright - thanks! I'll study your header and try to learn from it.
hkaiser has quit [Quit: bye]
aserio has quit [Ping timeout: 248 seconds]
aserio has joined #ste||ar
hkaiser has joined #ste||ar
aserio has quit [Client Quit]
jbjnr_ has joined #ste||ar
jbjnr has quit [Ping timeout: 248 seconds]
eschnett has joined #ste||ar
<nikunj> hkaiser: I added the voting functionality. Please have a look at the PR whenever you are free.
nikunj has quit [Remote host closed the connection]