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/
K-ballo has quit [Quit: K-ballo]
hkaiser has quit [Quit: bye]
Ri2Raj has joined #ste||ar
<Ri2Raj> So I was going through the Conjugate gradient header file and found the formula for residual as wrongly interpreted as b - A*x but in the docs it says r= A*x -b.
<Ri2Raj> Did I overlook something
Ri2Raj has quit [Quit: Connection closed]
Ri2Raj has joined #ste||ar
Ri2Raj has quit [Quit: Connection closed]
Ri2Raj has joined #ste||ar
Ri2Raj has quit [Quit: Connection closed]
<gonidelis[m]> jedi18: thanks for you comment ;) I had fixed that in an upcoming PR
<jedi18[m]> Yep sorry I noticed, I deleted the comment but I guess you still got the email?
<gonidelis[m]> jedi18: yup, I imagined that you deleted it because I couldn't find it on github but then again, many thanks that you keep a close eye on our work
<gonidelis[m]> I appreciate it a lot
<gonidelis[m]> shows willingness
<jedi18[m]> Thanks :)
<jedi18[m]> So after adding the Sent template parameter and changing last to be of type Sent, when running the sentinel test, it dosen't work because std::max_element expects both the iterators to be of the same type
<jedi18[m]> So what do I do? Should I remove the call to std::max_element and implement the actual implementation of max_element?
<gonidelis[m]> jedi18: great!
<gonidelis[m]> exactly
<gonidelis[m]> we have that problem with most of the algos
<gonidelis[m]> you can check cppref for recommended implementation ;)
<gonidelis[m]> it's not hard ;) (mind the additional facilities your impl may use according to cppref. ask here if we do have them implemented already [things like `iter_swap` etc])
K-ballo has joined #ste||ar
jehelset has joined #ste||ar
<jedi18[m]> Ohh ok, thanks!
hkaiser has joined #ste||ar
<jedi18[m]> gonidelis: Thanks, you were right, it was easy to implement thanks to the cppref implementation
<jedi18[m]> https://gist.github.com/Jedi18/d765557806c4cbac81839dc1f54625e8 is this too small a test or is it okay?
<hkaiser> jedi18[m]: there are different types of tests
<hkaiser> tests that prove general functionalities - this is what you have created
<hkaiser> for those you want to have one test for each API variation
<jedi18[m]> hkaiser: Oh ok thanks yeah I was going to add the other ones, I mean for the general one, is this okay?
<hkaiser> perhaps add more tests for parallel, asynchronous cases
<hkaiser> sure
<jedi18[m]> Oh ok sure, thanks
<hkaiser> then there are tests that verify certain corner cases are functional
<hkaiser> for instance make sure the algorithms work if the result refers to the first or last element
<hkaiser> or whether it still works if all elements in the sequence are the same, etc.
<hkaiser> there are many things that can be tested...
<jedi18[m]> Oh ok cool, I'll add whatever tests I can think of
<hkaiser> nod, thanks
<gonidelis[m]> jedi18: i like the test
<jedi18[m]> @gonidelis:matrix.org thanks :D, though I'll extend it to cover corner cases like hkaiser suggested
<gonidelis[m]> that's great
<jedi18[m]> Oops, actually my test was wrong, but I've fixed it now. This much should be enough right? https://gist.github.com/Jedi18/ecd9b07689ebc773c6452501af1209e6
<gonidelis[m]> does it pass?
<jedi18[m]> Yes
<gonidelis[m]> ok will have to wait for hkaiser to verify
<hkaiser> I'm fine with whatever tests ;-)
<jedi18[m]> Ok, so just these tests and the segmented algorithm tests remain, so should be ready with the PR by tomorrow hopefully
<gonidelis[m]> jedi18: thanks a lot!
<jedi18[m]> Thanks for the help and the guide :D
peltonp1 has joined #ste||ar
<gonidelis[m]> none
<gonidelis[m]> that's exactly what the project is for
<jedi18[m]> Ohh, well then I'd actually prefer to go for the shift left/ shift right algorithm idea instead, not because this isn't fun or anything, but because since I've already worked on this it won't be much of a challenge right?
jehelset has quit [Remote host closed the connection]
<gonidelis[m]> each algorithm imposes its own difficulties ;)
<hkaiser> jedi18[m]: sure - there can be more than one student proposing the same project
<hkaiser> however we most likely will accept only one of them
<jedi18[m]> <gonidelis[m] "each algorithm imposes its own d"> Well I'll be happy to work on that too if I'm able to finish my work ahead of schedule or after gsoc
<hkaiser> jedi18[m]: there is however more work to be done beyond the type of things you have done for the range based project
<hkaiser> there is the whole story of making things conforming to c++20, there are also alogirhtms left that do not have a range based variation implemented yet
<hkaiser> so essentially $4822, #3646, and even #1668
<hkaiser> there is the work to disentangle the segmented algorithms (#5156)
<jedi18[m]> Oh ok great, fine then I'll work on the range based parallel algorithm idea
<hkaiser> in the end there is #5219, but that's harder (probably a lot)
<jedi18[m]> So I can include work from all those issues in my proposal?
<hkaiser> jedi18[m]: sure - as I said before however - I'd rather you over deliver than over-promise
<hkaiser> ahh, not to forget #5204
<hkaiser> as you see, there is plenty of catch-up and clean-up work on the table, more than enough fpr several students
<jedi18[m]> Oh ok sure, I'd just like an idea of what I'm supposed to put in the proposal. Is it okay if I ask gonidelis for his previous year proposal so I can take inspiration from it?
<jedi18[m]> If you don't mind sharing gonidelis :)
<peltonp1> if I have hpx::partioned_vector<double> and I create hpx::partioned_vector_view<double, 2> why cant I assign a double with the operator()(size_t, size_t) to the view?
<peltonp1> here's what I mean
<hkaiser> peltonp1: uhh, can you give me a full minimal example so I can try myself, please?
<hkaiser> I don't remember the details of partition_vector_view - need to look closer
shubham has joined #ste||ar
shubham has left #ste||ar [#ste||ar]
shubham has joined #ste||ar
shubham has left #ste||ar ["WeeChat 2.8"]
<peltonp1> yes, wait a second
<hkaiser> peltonp1: thanks, will try to look at it later today
shubh_ has joined #ste||ar
shubh_ has quit [Client Quit]
Ri2Raj has joined #ste||ar
<Ri2Raj> The docs for Biconjugate Gradient Stabilized Method(BiCGSTAB) and Preconditioned BiCGSTAB is not included in the BlazerIterative repo. Can I generate a pull request to include them in the repo
<jedi18[m]> Wait what
<jedi18[m]> Oops sorry, wrong room
<hkaiser> Ri2Raj: sure
<hkaiser> Ri2Raj: nanmiao is the best source of information (once she is back on here), diehlpk should be able to help as well
<Ri2Raj> Hello everyone so I went through the previously implemented iterative solvers(docs and codes) in the BlazeIterative repo. So now I'm starting to understand the codebase of the blaze library. So what should I do next should I go through the entire hpx and Phalanx library?  Any suggestions would be really helpful .
<hkaiser> Ri2Raj: depends on what you want to do/achieve...
<hkaiser> going through the Phylanx or HPX code base is probably not very useful as a starting point
<hkaiser> it's ~1million lines of code overall after all ;-)
<Ri2Raj> Actually I'm working on implementing an iterative solver in Blaze
<Ri2Raj> So will it be enough to just know about the previously implemented iterative solvers.
Ri2Raj has quit [Ping timeout: 240 seconds]
Ri2Raj has joined #ste||ar
<hkaiser> Ri2Raj: for now, yes
<Ri2Raj> Are the preconditioners used in the BiCGSTAB same as that of Preconditioned Conjugated Gradient
Ri2Raj has quit [Quit: Connection closed]
hkaiser has quit [Read error: Connection reset by peer]
hkaiser has joined #ste||ar