rapidsai / cuhornet

BSD 3-Clause "New" or "Revised" License
25 stars 26 forks source link

Facing Problems in Dynamic PageRank #56

Open rajat-99 opened 3 years ago

rajat-99 commented 3 years ago

Hi I am currently working on Dynamic PageRank, but am encountering problems in using it, which are listed as follows:

  1. Initially I created a file PageRankDynamic.cu in the test folder of hornetsnest and added its details into the cmakelist in order to compile it into the build folder. However I was met with several errors.

  2. HornetGPU and BatchUpdate were undefined in /hornetsnest/src/Dynamic/PageRank.cu, which I defined in /hornetsnest/include/Dynamic/PageRank.cuh as shown below. I would like to know whether this is correct or not. image I also changed line number 112 of /hornetsnest/include/Dynamic/PageRank.cuh to image

  3. Currently in line number 210 and 213 of /hornetsnest/src/Dynamic/PageRank.cu, the forAllEdges function is called as below: image However on executing it the following errors arise: image

Could anyone help me in regards to this matter?

ogreen commented 3 years ago

Hey @rajat-99 , are you still facing this problem?

ogreen commented 3 years ago

I think that the problem is that you are not sending the correct function to the forAllEdges primitive.

Take a look the primitive in BFS: https://github.com/rapidsai/cuhornet/blob/main/hornetsnest/include/Static/BreadthFirstSearch/TopDown2.cuh#L99 For PageRank: (call the primitive) https://github.com/rapidsai/cuhornet/blob/main/hornetsnest/src/Static/PageRank/PageRank.cu#L124 (the primitive itself ) https://github.com/rapidsai/cuhornet/blob/main/hornetsnest/src/Static/PageRank/PageRankOperators.cuh#L80

rajat-99 commented 3 years ago

Thanks for the reply @ogreen. I am still facing the problem in the Dynamic PageRank. Could you look at the following lines and inform me if the work is still in progress or not? https://github.com/rapidsai/cuhornet/blob/4a1daa18405c0242370e16ce302dfa7eb5d9e857/hornetsnest/src/Dynamic/PageRank/PageRank.cu#L198-L206. (This entire if-else section calls the same function with same arguments for both the insertion and the deletion operations; The code compiles after removing this section.)

ogreen commented 3 years ago

@rajat-99 , this algorithm is not currently in development. And you are correct. It looks like the non-commented out lines of code are the same. The difference is in the commented out lines of code. These were disabled for reasons unknown to me. The if statement seems to be responsible for insertions and the else statements for deletions.

rajat-99 commented 3 years ago

@ogreen could you provide me some resources for understanding the algorithms you are using in dynamic pagerank? Thanks in advance.

ogreen commented 3 years ago

I am afraid that I don't have that information. Euna might be able to answer your question: https://github.com/eunaeuna