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 )
@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"], )
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.