You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Our current implementation of HITS uses the gunrock implementation which is limited to 1 CPU.
Inherently HITS is the same computational pattern as Pagerank and Katz Centrality. It should be possible to implement HITS using the graph primitives we use for Pagerank and Katz, giving us a HITS computation that can scale to multiple GPUs.
Suggest a sequence of PRs for this:
Move the existing C++ implementation into a cugraph::legacy namespace, updating the python to reference the legacy implementation. Define the new C++ API, define C++ unit tests using the C++ API.
Implement the algorithm in C++, all unit tests should pass
Implement the cython/python changes to support the new API
Delete the legacy implementation
The text was updated successfully, but these errors were encountered:
for n in h:
for nbr in G[n]:
a[nbr] += hlast[n] * G[n][nbr].get("weight", 1)
# now multiply h=Ga
for n in h:
for nbr in G[n]:
h[n] += a[nbr] * G[n][nbr].get("weight", 1)
The first part of the HITS's core implementation is practically identical to katz, but HITS has the second part as well.
copy_v_transform_reduce_in_nbr and copy_v_transform_reduce_out_nbr (the order will vary based on whether we assume the graph adjacency matrix is stored as is (row-major) or transposed (column-major). For PageRank & Katz, storing the transposed matrix is beneficial in performance to avoid atomics, but for HITS, there is no benefit in performance as we are using both copy_v_transform_reduce_in_nbr and copy_v_transform_reduce_out_nbr.
Our current implementation of HITS uses the gunrock implementation which is limited to 1 CPU.
Inherently HITS is the same computational pattern as Pagerank and Katz Centrality. It should be possible to implement HITS using the graph primitives we use for Pagerank and Katz, giving us a HITS computation that can scale to multiple GPUs.
Suggest a sequence of PRs for this:
cugraph::legacy
namespace, updating the python to reference the legacy implementation. Define the new C++ API, define C++ unit tests using the C++ API.The text was updated successfully, but these errors were encountered: