-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
batch update and load balancing #41
Comments
For the BFS code: For the code using batch updates: can you include code for reproducibility? |
Can you point me to the code? I will gladly run on my GV100 and try this out. |
Hi, Thanks a lot for the help. |
@samuelecancellieri , I just finished updating a system with a GTX1060 GPU to have NVIDIA driver 440 and CUDA ToolKit 10.2. I was able to recreate your problem. I just submitted a PR for a new load balancing mechanism called LRB (Logarthim Radix Binning) that I hope will resolve this problem: I added a flag to the BFS tester that allows controlling which of the two load-balancing mechanisms to use. LRB gives consistent results on the GTX1060. |
Hi, I tested the new load balancing and the problem with BFS are solved, now the results are consistent each run. But the problem with the update is still there, whenever I performed a batch update, some vertices are connected to the node 0 with no error reported from the batch update operation (batch.insert). I don't know if the problem is the load balancing, there's a way to change the load balancing mechanism also in the batch update kernel?? Thanks a lot for all the support. Best, |
It seems that the problem is with BinarySearchLB in XLIB.
and https://github.com/rapidsai/cuhornet/blob/master/hornet/include/Core/BatchUpdate/BatchUpdateKernels.cuh#L62 Do your batches include duplicate values? |
Hi, Thanks, |
I am not sure how easy it will be to update the batching process. |
@samuelecancellieri , can you verify that you are not using 64-bit integers as part of the batch process? A mis-aligned type might cause problems. |
I hope that the following code will be helpful: `
` |
Hi, Thanks a lot again. |
Hello, are there any news about this issue? Thanks in advance. |
Hi, sorry but I've not worked on this in almost 3 years. Sorry to be not helpful. Best, |
Hi,
I downloaded the repo from the master and I'm encountering the following problems when using the bfs2 algorithm.
The first one is a problem with the binary search load balancing, in fact, when used to perform the BFS, each run return a different distance despite starting from the same root.
I solved the problem by changing the balancing to vertexbased, by I'm not sure what is causing this behavior.
The second and more big problem, arises when I try to use update batches.
I'm able to generate batches and correctly insert the batches into the graph (edge insertion for example) but when I try any operation on the graph, some updated edges are not present, or better, they are present, but they have an incorrect destination, in fact, they all terminate into node 0.
For example if I insert the batch (100, 200), the graph is updated with an edge starting from node 100 and going into node 200. But sometimes, when the batch is greater than a couple thousands (e.g. 5000 new edges), the new inserted edges start from the correct source but terminates into node 0, other times the behavior is inverted, all the already present edges, start from the correct source but terminates into 0 and all the new edges are correct.
This behavior is not common to all nodes updated in the batch, only some follow this strange behavior.
I've tried different batch updates, but I cannot figure it out why there are these problems.
Just to have more details, I include my machine specs:
GPU is GTX 1060 with 6gb RAM
toolkit is version V10.2.89
and NVIDIA drivers are version 440.82
on Ubuntu 18.04 OS
Thanks a lot for any answer.
Best,
Samuele
The text was updated successfully, but these errors were encountered: