Esempio n. 1
0
    sym_src, sym_dst, sym_w = cugraph.symmetrize(
        cu_M["0"], cu_M["1"], cu_M["2"]
    )

    compare(cu_M["0"], cu_M["1"], cu_M["2"], sym_src, sym_dst, sym_w)


@pytest.fixture(scope="module")
def client_connection():
    (cluster, client) = setup_local_dask_cluster(p2p=True)
    yield client
    teardown_local_dask_cluster(cluster, client)


@pytest.mark.skipif(
    is_single_gpu(), reason="skipping MG testing on Single GPU system"
)
@pytest.mark.parametrize("graph_file", utils.DATASETS_UNDIRECTED)
def test_mg_symmetrize(graph_file, client_connection):
    gc.collect()

    ddf = utils.read_dask_cudf_csv_file(graph_file)
    sym_src, sym_dst = cugraph.symmetrize(ddf["src"], ddf["dst"])

    # convert to regular cudf to facilitate comparison
    df = ddf.compute()

    compare(
        df["src"], df["dst"], None, sym_src.compute(), sym_dst.compute(), None
    )
Esempio n. 2
0

@pytest.fixture
def client_connection():
    cluster = LocalCUDACluster()
    client = Client(cluster)
    Comms.initialize(p2p=True)

    yield client

    Comms.destroy()
    client.close()
    cluster.close()


@pytest.mark.skipif(is_single_gpu(),
                    reason="skipping MG testing on Single GPU system")
def test_dask_sssp(client_connection):
    gc.collect()

    input_data_path = r"../datasets/netscience.csv"
    chunksize = dcg.get_chunksize(input_data_path)

    ddf = dask_cudf.read_csv(
        input_data_path,
        chunksize=chunksize,
        delimiter=" ",
        names=["src", "dst", "value"],
        dtype=["int32", "int32", "float32"],
    )
Esempio n. 3
0
import pytest

import cudf
import dask_cudf

from cugraph.dask.common.mg_utils import (is_single_gpu,
                                          setup_local_dask_cluster,
                                          teardown_local_dask_cluster)
from cugraph.generators import rmat
import cugraph

##############################################################################
_cluster = None
_client = None
_is_single_gpu = is_single_gpu()
_visible_devices = None
_scale_values = [2, 4, 16]
_scale_test_ids = [f"scale={x}" for x in _scale_values]
_mg_values = [False, True]
_mg_test_ids = [f"mg={x}" for x in _mg_values]
_graph_types = [cugraph.Graph, cugraph.DiGraph, None, int]
_graph_test_ids = [
    f"create_using={getattr(x,'__name__',str(x))}" for x in _graph_types
]


def _call_rmat(scale, num_edges, create_using, mg):
    """
    Simplifies calling RMAT by requiring only specific args that are varied by
    these tests and hard-coding all others.