Open soumyadipghosh opened 5 years ago
I added something brief in the Wiki.
For ginkgo, one of our students was working on it, you can find it on his temporary repo. I think it will soon be moved to the main Ginkgo repo, @hartwiganzt ?
About the bug on the enable_push_one_by_one
flag, I think you have to change the (remote_put[p])[i]
to i
in this line because it should be the displacement of the RMA window.
Also, I did not understand the else
block of the enable_push_one_by_one
flag starting from this line. What is being done here?
From line 900, it is basically the accumulate into the send_buffer
array and put that into the neighbor.
903: Loop over number of neighbors.
905: Get number of elements to send to each neighbor and make sure it is non-zero.
From 907 to 928 does the same thing as 930 to 933, but for GPU. As I need to call a GPU kernel, it becomes a bit complicated. But I think 930 to 933 is basically accumulating the local_solution
vector to be sent to the different processes into the send_buffer
with the correct offset of num_put
and just accululating them. The MPI_Put
from line 936 basically puts the send_buffer
accounting for the offset into the recv_buffer
of its neighbor again accounting for the offset.
In short, you can disregard lines 907 to 928 for now as they are only for GPU.
Another thing, please dont push anything into develop, especially the merge commits. On your local branch, you can use git rebase
so that the merge commits do not appear and your history is cleaner.
I did not push any commit to develop
to the best of my knowledge. Did you see a problem ? Also, I should rebase event-based from develop, not master ?
Yeah, I guess when you pushed you pushed to develop as well. Its okay, not a problem. I corrected it now. For event-based, better to pull and base it on master. That is probably the safer and stable branch.
Oh, I see the problem - I did not configure git push, so it was pushing all matching branches. So I should do a git config push.default current
to push to only the branch I selected in git checkout
?
Yes.
Well, I just pushed something to event-based
. Please verify that it is not updating the other branches.
Also, git rebase master
on event-based
is saying that branch is up to date, which is something to be expected I guess.
To start understanding the code, can you give a rough idea of the sequence in which I should look at the files in /source ? A brief description of what each file does would also be nice.
Also, is there a brief tutorial of gingko somewhere ? I found one but that looks incomplete.