Open Alexcyh7 opened 3 years ago
Hi. The design of C-SAW can support the implementation of node2vec but is not reflected in the current public APIs. The previous implementation of node2vec used a different data structure for storing the history of visited nodes which was inefficient. The node2vec implementation with the current C-SAW API is currently under development.
Hi. I have another question. It seems that the streaming version can't be compiled, I'm wondering whether the public version can support the graph size exceding the GPU memory.
It supports a graph with a size exceeding the GPU memory as only a few partitions are transferred at an iteration. I will fix the issues with the streaming version as soon as I have spare time.
Hi. The design of C-SAW can support the implementation of node2vec but is not reflected in the current public APIs. The previous implementation of node2vec used a different data structure for storing the history of visited nodes which was inefficient. The node2vec implementation with the current C-SAW API is currently under development.
Hi, I'm wondering what's the current state of the development on node2vec. I've been thinking about using GPU to generate random walks on graph for a while and recently noticed your paper. So I wanted to test out how well it worked. I've developed an implementation of nodevec (you can find it here) that is significantly faster the original implementations. I haven't had time to fully digest the paper and how the framework works, but do you have any suggestion on how to get started if I want to try to implement node2vec with your API?
Hi. I have not been able to update the code recently due to other works. I think it will be updated in a couple of weeks. For implementing node2vec, we need to store the recently sampled nodes which is not supported by the current API. We can use an array for storing recently visited edges for each random walk and update EdgeBias API for considering recently visited nodes while computing edge transition probability for each edge. I would love to go through your implementation. Are you planning to add GPU support for sampling?
I would definitely love to add GPU support. I've had some experience with cuda programing, but mostly on stencil computations, and I haven't thought much about exactly how to implement random walk simulation on GPU, even though I also had this idea of GPU implementation of random walk in my head for a while. So I'm pretty interested to so how would this work out compared to the CPU implementations. And I have a benchmarking repository that could help comparing speedup performances across different implementations to see how much performance increase can be made by the GPU implementation.
Hi, I recently read you paper published in SC2020. The paper used node2vec to demonstrate the system design. However, I do not find this application in the source code, and the api cannot figure out the previous vertex of a walker. Could you please share the source code with node2vec with us? Thanks.