• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • Data Science

    NetworkX, NVIDIA cuGraph? ??? ?? ?? ?? ??? ??

    Reading Time: 5 minutes

    NVIDIA cuGraph? ???? NetworkX? NetworkX ?? ?? ??? ?? ??? ??????. NVIDIA cuGraph? PageRank, Louvain, Betweenness Centrality? ?? ?? ?? ??? ????? ?? GPU ??? ?????. ????? ??? ??? ?? CPU? NetworkX?? ?? 50?, ??? 500??? NetworkX ?????? ?? ???? ? ????.

    ? ?????? NetworkX? cuGraph ??? ??? ??? ???? ?? ??? ??? ?????. ?? NetworkX? cuGraph ???? ???? ??? ?? ?????? ??? ???, ??? ??? ?? ? NetworkX? ??? ???? ??? ???? ?????.

    ??? ??? ?? ??? ????? ????? ??? NetworkX? ??? ??? ????. NetworkX? ??? ?? ?? ??? ?? ?? ??? ?? ????? ? ????, ? ?? 8?? ? ?? ???????(10/24 ??). 2005? ?? ??? ??, NetworkX? ???? ?? ???? API, ???? ???? ????, ??? ? ?? ?? ?? ??? ?? ?? ??? ???? ???? ?????? ??? ??????.

    ??? ?? ??? ????? ???? ???? ?????? ???? ???, ???? ?? ??? ???? ??? ? ????? ? ??? ??? ????? ???? ??? ??? ???? ????.

    NetworkX? ?? Python ?? ??? ??? ?? ??? ??? ????. ????? 10? ?? ? 100? ???? ? ???? ???? ?? ???????? ??? ?? ??? ???? NetworkX? ??? ???? ?? ??? ?? ????. ??? ????? ?? ??, ?? ???, ?? ???? ??, ??? ??? ??? ???? ??? ??? ???? ??? ?? ??? ? ?? ?? ???? ?? ?????.

    2019? ?? ??? ??, cuGraph ?? ?? ????? NetworkX? ??? ???? ?? Python ??? ?? ?????? ?? ??? ????? ?? ???? ??? ????. ?? ??? ???? ?? GPU ???? NetworkX? cuGraph ???? ????, ?? ??? ?? ??? ???? ?? NetworkX? ??? ??? ???.

    ??? ??? ???

    NetworkX? ???? CUDA ?? ?????? cuGraph? ????, cuGraph ?? ????? ???? NetworkX ?????? ?? ????? ??? ??? ?? ??? ?? ??? ??? ? ????.

    ?? 10?, ?? ????? ? ? ???? ?? ?? 500? ?? ?? ??? ??? ? ????. ??? ?? ??? ??? ? ??? ??? ?? ??? ???? ??????? ???? ?? ??? ???? ?????.

    ?? ??? ??? ??????? ??? NVIDIA cuGraph? ???? NetworkX? ???? ?? ???? ??? ??? ?? ??? ? ?? ?????.

    ?? ?? ?? GPU ??

    NVIDIA cuGraph? ?? ???? ??? ? ?? ?? ????? ???? ??? ???? ???? ?? NetworkX? ??????.

    pip ?? conda ??? ???? ????? NVIDIA GPU? ?? ????? ???? cuGraph ??? nx-cugraph? ?????. ???? NetworkX ?? ?? ????? ????? ?? ??? ?? ?????, ?? ?? NetworkX? ???? ????? GPU ???? ??? ?? ?? ????? CPU? ?? NetworkX ???? ??? ? ????.

    ? ?? ??? ????? ???? ?? ???? ??? ???? ? ???? ?? ???? ??? ??? ?? ?? ?? ?? ???? GPU ??? ?????:

    • pagerank
    • betweenness_centrality
    • louvain_communities
    • shortest_path
    • ? ??? ? 60? ??? ????.

    ?????? ??? ?? ?? ????? ???? ?? NetworkX? ??? ??? ? ?? ??? ??? ??? ????? ??? ?? ??? ??? ? ????. ??? ?????? ??????? ??? ?? ? ?? ???? ? ? ???? ?? ? ?? ?-GPU ?????? ??? ? ????.

    ????? ?? ?? ??? ???? GPU ?? ??? ??? ? ???, cuGraph? ????? ??? ???? ??? ?? 87? ? ??? ?????.

    ??: demo.ipy

    import pandas as pd
    import networkx as nx
     
    url = "https://data.rapids.ai/cugraph/datasets/cit-Patents.csv"
    df = pd.read_csv(url, sep=" ", names=["src", "dst"], dtype="int32")
    G = nx.from_pandas_edgelist(df, source="src", target="dst")
     
    %time result = nx.betweenness_centrality(G, k=10)

    ??:

    user@machine:/# ipython demo.ipy
    CPU times: user 7min 36s, sys: 5.22 s, total: 7min 41s
    Wall time: 7min 41s
     
    user@machine:/# NX_CUGRAPH_AUTOCONFIG=True ipython demo.ipy
    CPU times: user 4.14 s, sys: 1.13 s, total: 5.27 s
    Wall time: 5.32 s
    • ?????: NetworkX 3.4.1, cuGraph/nx-cugraph 24.10
    • CPU: Intel Xeon Gold 6128 CPU @ 3.40GHz 45GB RAM
    • GPU: NVIDIA Quadro RTX 8000 50GB RAM

    ?????? ?? networkx ???? ?? ???? %env ??? ??? ?? ??? ?????:

    %env NX_CURGAPH_AUTOCONFIG=True
    import networkx as nx

    ?? ?? ??? ????

    NetworkX? ???? ?? ??? ?? ?????? ??? ? ???, ? ?? ??? ??, ?????? ? ????? ?? ??? ???? ?? ??? ???? ?????.

    ??? ???? ???? ?? ?? ???? ?? 10? ??? 100? ??? ???? ???? ?? ? ????? ???, 2027??? ???? 20ZB? ???? ??? ??? ?????. NetworkX? cuGraph ???? ???? ??? ??? ?? ?? ???? ?? ????? ??? ??? ?? ??? ? ????.

    ?? ????? ???? ???? ?? ??? ???? ???? ???? ??? ????? ??? ??? ? ????. cuGraph? ???? NetworkX? ???? ??? ?? ??? CPU? NetworkX? ??? ??? ??? ???? ?? ?? ?? ??? ?????.

    GPU ???? ??? ??? ????? ???? ?? ?? ?? ????? ??? ?? ???? ??? ??? ???? ? ?? ???, ??? ?? ??? ???, ?? ??, ?? ??? ??? ?? ?? ??? ??? ? ????.

    ?? ?? cuGraph? ???? NetworkX? ??? ?? ??? ?????.

    ???? ???? ??? ???? ????? ??? ?? ??? ???? ?? ?? ???? Louvain ???? ??(100? ??, 5800? ??)? CPU?? NetworkX? ???? ??? 60? ? ????.

    ?? 1. ???? ???? ??? ???? ????? ???? ??? ?? ??? ??? ?? ??? ???? ?? ????

    ?? ??? ?? ???(4?? ??, 1?6?? ??)? ?? ???? ? ??? PageRank ????? CPU? NetworkX?? 70? ????.

    ?? 2. ?? ??? ?? ??? ?? ???? ? ??? PageRank ????

    ??? ?? ?? ????(5?? ??, 6? 9?? ??, k=100)? ?? ???? ? ??? Betweenness ??? ????? CPU? NetworkX?? 485? ????.

    ??? ?? ?? ????(5?? ??, 6? 9?? ??, k=100)? ?? ???? ? ??? Betweenness ??? ????? CPU? NetworkX?? 485? ????.


    ?? 3. ??? ?? ?? ????? ?? ???? ? ??? Betweenness ??? ????

    ? ???? ?? ????? ?? ??? ??????:

    • ?????: NetworkX 3.4.1, cuGraph/nx-cugraph 24.10
    • CPU: Intel Xeon w9-3495X(56??) 250GB
    • GPU: NVIDIA A100 80GB

    ???? ??? ?? ??? ??? /rapidsai/cugraph GitHub ?????? ?????.

    ??

    NetworkX? ?? ?? ?? ??? ?? ?????? ??? ?? ???, ?? ?? ? ????? ??? ??? ?? ??? ???? ?? ?? ?????? ??? ??? ??? ?????.

    ?? ?? ??? ???? cuGraph/nx-cugraph ???? ???? ????X? ???? ?? ???? ??? ????? ?? ????? ???? ?? NVIDIA cuGraph? ???? ????X? ?? 500??? ???? ? ????.

    ?? ?? Google Colab?? ????? NetworkX – ??? ??? ?? ??? ????? ?? ??? ??? Wikipedia? ?? ?? Pagerank?? nx-cugraph ????? ??? ??? ?? ??? ?????.

    ??? ??? ?? ???? ?????:

    ?? ???

    Discuss (0)
    0

    Tags

    人人超碰97caoporen国产