Skip to content

Commit

Permalink
Disable mg tests (#3833)
Browse files Browse the repository at this point in the history
This PR is on top off the changes from #3831. 

Temporarily disables single-GPU "MG" tests in CI until #3790 is closed.
This will unblock CI for PRs unrelated to the issue in #3790 at the risk of removed coverage for MG code paths. Hopefully nightly MG testing will minimize the risk.
A followup PR will be submitted that re-enables the tests and must be merged prior to 23.10 burndown.

Authors:
  - Naim (https://github.com/naimnv)
  - Rick Ratzel (https://github.com/rlratzel)

Approvers:
  - Rick Ratzel (https://github.com/rlratzel)
  - Ray Douglass (https://github.com/raydouglass)

URL: #3833
  • Loading branch information
naimnv authored Aug 30, 2023
1 parent a7d988c commit 4656d3e
Show file tree
Hide file tree
Showing 19 changed files with 36 additions and 30 deletions.
6 changes: 5 additions & 1 deletion ci/test_python.sh
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,10 @@ pytest \
tests
popd

# FIXME: TEMPORARILY disable single-GPU "MG" testing until
# https://github.com/rapidsai/cugraph/issues/3790 is closed
# When closed, replace -k "not _mg" with
# -k "not test_property_graph_mg" \
rapids-logger "pytest cugraph"
pushd python/cugraph/cugraph
export DASK_WORKER_DEVICES="0"
Expand All @@ -75,7 +79,7 @@ pytest \
--cov=cugraph \
--cov-report=xml:"${RAPIDS_COVERAGE_DIR}/cugraph-coverage.xml" \
--cov-report=term \
-k "not test_property_graph_mg" \
-k "not _mg" \
tests
popd

Expand Down
4 changes: 3 additions & 1 deletion ci/test_wheel.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,7 @@ arch=$(uname -m)
if [[ "${arch}" == "aarch64" && ${RAPIDS_BUILD_TYPE} == "pull-request" ]]; then
python ./ci/wheel_smoke_test_${package_name}.py
else
RAPIDS_DATASET_ROOT_DIR=`pwd`/datasets python -m pytest ./python/${package_name}/${package_name}/tests
# FIXME: TEMPORARILY disable single-GPU "MG" testing until
# https://github.com/rapidsai/cugraph/issues/3790 is closed
RAPIDS_DATASET_ROOT_DIR=`pwd`/datasets python -m pytest -k "not _mg" ./python/${package_name}/${package_name}/tests
fi
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ def input_expected_output(input_combo):


@pytest.mark.mg
def test_dask_betweenness_centrality(dask_client, benchmark, input_expected_output):
def test_dask_mg_betweenness_centrality(dask_client, benchmark, input_expected_output):

dg = input_expected_output["MGGraph"]
k = input_expected_output["k"]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ def input_expected_output(input_combo):
# is_single_gpu(), reason="skipping MG testing on Single GPU system"
# )
@pytest.mark.mg
def test_dask_edge_betweenness_centrality(
def test_dask_mg_edge_betweenness_centrality(
dask_client, benchmark, input_expected_output
):
if input_expected_output is not None:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ def setup_function():
@pytest.mark.skipif(is_single_gpu(), reason="skipping MG testing on Single GPU system")
@pytest.mark.parametrize("directed", IS_DIRECTED)
@pytest.mark.parametrize("input_data_path", DATASETS)
def test_dask_eigenvector_centrality(dask_client, directed, input_data_path):
def test_dask_mg_eigenvector_centrality(dask_client, directed, input_data_path):
input_data_path = input_data_path.as_posix()
print(f"dataset={input_data_path}")
chunksize = dcg.get_chunksize(input_data_path)
Expand Down Expand Up @@ -86,7 +86,7 @@ def test_dask_eigenvector_centrality(dask_client, directed, input_data_path):


@pytest.mark.mg
def test_dask_eigenvector_centrality_transposed_false(dask_client):
def test_dask_mg_eigenvector_centrality_transposed_false(dask_client):
input_data_path = DATASETS[0]

chunksize = dcg.get_chunksize(input_data_path)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ def setup_function():
@pytest.mark.mg
@pytest.mark.skipif(is_single_gpu(), reason="skipping MG testing on Single GPU system")
@pytest.mark.parametrize("directed", IS_DIRECTED)
def test_dask_katz_centrality(dask_client, directed):
def test_dask_mg_katz_centrality(dask_client, directed):

input_data_path = (RAPIDS_DATASET_ROOT_DIR_PATH / "karate.csv").as_posix()
print(f"dataset={input_data_path}")
Expand Down Expand Up @@ -96,7 +96,7 @@ def test_dask_katz_centrality(dask_client, directed):
@pytest.mark.mg
@pytest.mark.skipif(is_single_gpu(), reason="skipping MG testing on Single GPU system")
@pytest.mark.parametrize("directed", IS_DIRECTED)
def test_dask_katz_centrality_nstart(dask_client, directed):
def test_dask_mg_katz_centrality_nstart(dask_client, directed):
input_data_path = (RAPIDS_DATASET_ROOT_DIR_PATH / "karate.csv").as_posix()
print(f"dataset={input_data_path}")
chunksize = dcg.get_chunksize(input_data_path)
Expand Down Expand Up @@ -141,7 +141,7 @@ def test_dask_katz_centrality_nstart(dask_client, directed):


@pytest.mark.mg
def test_dask_katz_centrality_transposed_false(dask_client):
def test_dask_mg_katz_centrality_transposed_false(dask_client):
input_data_path = (RAPIDS_DATASET_ROOT_DIR_PATH / "karate.csv").as_posix()

chunksize = dcg.get_chunksize(input_data_path)
Expand Down
2 changes: 1 addition & 1 deletion python/cugraph/cugraph/tests/comms/test_comms_mg.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ def setup_function():
# )
@pytest.mark.mg
@pytest.mark.parametrize("directed", IS_DIRECTED)
def test_dask_pagerank(dask_client, directed):
def test_dask_mg_pagerank(dask_client, directed):

# Initialize and run pagerank on two distributed graphs
# with same communicator
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ def setup_function():
# )
@pytest.mark.mg
@pytest.mark.parametrize("directed", IS_DIRECTED)
def test_dask_wcc(dask_client, directed):
def test_dask_mg_wcc(dask_client, directed):

input_data_path = (RAPIDS_DATASET_ROOT_DIR_PATH / "netscience.csv").as_posix()
print(f"dataset={input_data_path}")
Expand Down
4 changes: 2 additions & 2 deletions python/cugraph/cugraph/tests/core/test_k_core_mg.py
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ def test_sg_k_core(dask_client, benchmark, input_expected_output):


@pytest.mark.mg
def test_dask_k_core(dask_client, benchmark, input_expected_output):
def test_dask_mg_k_core(dask_client, benchmark, input_expected_output):

dg = input_expected_output["MGGraph"]
core_number = input_expected_output["core_number"]
Expand All @@ -159,7 +159,7 @@ def test_dask_k_core(dask_client, benchmark, input_expected_output):


@pytest.mark.mg
def test_dask_k_core_invalid_input(dask_client):
def test_dask_mg_k_core_invalid_input(dask_client):
input_data_path = datasets[0]
chunksize = dcg.get_chunksize(input_data_path)
ddf = dask_cudf.read_csv(
Expand Down
2 changes: 1 addition & 1 deletion python/cugraph/cugraph/tests/internals/test_renumber_mg.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ def test_mg_renumber_add_internal_vertex_id(graph_file, dask_client):
@pytest.mark.mg
@pytest.mark.skipif(is_single_gpu(), reason="skipping MG testing on Single GPU system")
@pytest.mark.parametrize("directed", IS_DIRECTED)
def test_dask_pagerank(dask_client, directed):
def test_dask_mg_pagerank(dask_client, directed):
pandas.set_option("display.max_rows", 10000)

input_data_path = (RAPIDS_DATASET_ROOT_DIR_PATH / "karate.csv").as_posix()
Expand Down
4 changes: 2 additions & 2 deletions python/cugraph/cugraph/tests/link_analysis/test_hits_mg.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ def input_expected_output(input_combo):
# is_single_gpu(), reason="skipping MG testing on Single GPU system"
# )
@pytest.mark.mg
def test_dask_hits(dask_client, benchmark, input_expected_output):
def test_dask_mg_hits(dask_client, benchmark, input_expected_output):

dg = input_expected_output["MGGraph"]

Expand Down Expand Up @@ -155,7 +155,7 @@ def test_dask_hits(dask_client, benchmark, input_expected_output):


@pytest.mark.mg
def test_dask_hits_transposed_false(dask_client):
def test_dask_mg_hits_transposed_false(dask_client):
input_data_path = (utils.RAPIDS_DATASET_ROOT_DIR_PATH / "karate.csv").as_posix()

chunksize = dcg.get_chunksize(input_data_path)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ def setup_function():
@pytest.mark.parametrize("directed", IS_DIRECTED)
@pytest.mark.parametrize("has_precomputed_vertex_out_weight", HAS_PRECOMPUTED)
@pytest.mark.parametrize("has_guess", HAS_GUESS)
def test_dask_pagerank(
def test_dask_mg_pagerank(
dask_client,
personalization_perc,
directed,
Expand Down Expand Up @@ -215,7 +215,7 @@ def test_pagerank_invalid_personalization_dtype(dask_client):


@pytest.mark.mg
def test_dask_pagerank_transposed_false(dask_client):
def test_dask_mg_pagerank_transposed_false(dask_client):
dg = create_distributed_karate_graph(store_transposed=False)

warning_msg = (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ def input_expected_output(input_combo):


@pytest.mark.mg
def test_dask_jaccard(dask_client, benchmark, input_expected_output):
def test_dask_mg_jaccard(dask_client, benchmark, input_expected_output):

dg = input_expected_output["MGGraph"]

Expand Down Expand Up @@ -154,7 +154,7 @@ def test_dask_jaccard(dask_client, benchmark, input_expected_output):


@pytest.mark.mg
def test_dask_weighted_jaccard(dask_client):
def test_dask_mg_weighted_jaccard(dask_client):
input_data_path = datasets[0]
chunksize = dcg.get_chunksize(input_data_path)
ddf = dask_cudf.read_csv(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ def input_expected_output(input_combo):
# is_single_gpu(), reason="skipping MG testing on Single GPU system"
# )
@pytest.mark.mg
def test_dask_overlap(dask_client, benchmark, input_expected_output):
def test_dask_mg_overlap(dask_client, benchmark, input_expected_output):

dg = input_expected_output["MGGraph"]

Expand Down Expand Up @@ -157,7 +157,7 @@ def test_dask_overlap(dask_client, benchmark, input_expected_output):


@pytest.mark.mg
def test_dask_weighted_overlap():
def test_dask_mg_weighted_overlap():
input_data_path = datasets[0]
chunksize = dcg.get_chunksize(input_data_path)
ddf = dask_cudf.read_csv(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ def input_expected_output(input_combo):

@pytest.mark.mg
@pytest.mark.skipif(is_single_gpu(), reason="skipping MG testing on Single GPU system")
def test_dask_sorensen(dask_client, benchmark, input_expected_output):
def test_dask_mg_sorensen(dask_client, benchmark, input_expected_output):

dg = input_expected_output["MGGraph"]

Expand Down Expand Up @@ -156,7 +156,7 @@ def test_dask_sorensen(dask_client, benchmark, input_expected_output):


@pytest.mark.mg
def test_dask_weighted_sorensen(dask_client):
def test_dask_mg_weighted_sorensen(dask_client):
input_data_path = datasets[0]
chunksize = dcg.get_chunksize(input_data_path)
ddf = dask_cudf.read_csv(
Expand Down
2 changes: 1 addition & 1 deletion python/cugraph/cugraph/tests/sampling/test_egonet_mg.py
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ def input_expected_output(input_combo):

@pytest.mark.mg
@pytest.mark.skipif(is_single_gpu(), reason="skipping MG testing on Single GPU system")
def test_dask_ego_graphs(dask_client, benchmark, input_expected_output):
def test_dask_mg_ego_graphs(dask_client, benchmark, input_expected_output):

dg = input_expected_output["MGGraph"]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ def input_graph(request):

@pytest.mark.mg
@pytest.mark.cugraph_ops
def test_dask_random_walks(dask_client, benchmark, input_graph):
def test_dask_mg_random_walks(dask_client, benchmark, input_graph):
path_data, seeds, max_depth = calc_random_walks(input_graph)
df_G = input_graph.input_df.compute().reset_index(drop=True)
check_random_walks(input_graph, path_data, seeds, max_depth, df_G)
6 changes: 3 additions & 3 deletions python/cugraph/cugraph/tests/traversal/test_bfs_mg.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ def setup_function():
# )
@pytest.mark.mg
@pytest.mark.parametrize("directed", IS_DIRECTED)
def test_dask_bfs(dask_client, directed):
def test_dask_mg_bfs(dask_client, directed):

input_data_path = (RAPIDS_DATASET_ROOT_DIR_PATH / "netscience.csv").as_posix()

Expand Down Expand Up @@ -102,7 +102,7 @@ def modify_dataset(df):
# )
@pytest.mark.mg
@pytest.mark.parametrize("directed", IS_DIRECTED)
def test_dask_bfs_invalid_start(dask_client, directed):
def test_dask_mg_bfs_invalid_start(dask_client, directed):
source_vertex = 10
input_data_path = (RAPIDS_DATASET_ROOT_DIR_PATH / "netscience.csv").as_posix()

Expand Down Expand Up @@ -138,7 +138,7 @@ def test_dask_bfs_invalid_start(dask_client, directed):
# )
@pytest.mark.mg
@pytest.mark.parametrize("directed", IS_DIRECTED)
def test_dask_bfs_multi_column_depthlimit(dask_client, directed):
def test_dask_mg_bfs_multi_column_depthlimit(dask_client, directed):
gc.collect()

input_data_path = (RAPIDS_DATASET_ROOT_DIR_PATH / "netscience.csv").as_posix()
Expand Down
2 changes: 1 addition & 1 deletion python/cugraph/cugraph/tests/traversal/test_sssp_mg.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ def setup_function():
# )
@pytest.mark.mg
@pytest.mark.parametrize("directed", IS_DIRECTED)
def test_dask_sssp(dask_client, directed):
def test_dask_mg_sssp(dask_client, directed):

input_data_path = (RAPIDS_DATASET_ROOT_DIR_PATH / "netscience.csv").as_posix()
print(f"dataset={input_data_path}")
Expand Down

0 comments on commit 4656d3e

Please sign in to comment.