Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
9a1ef56
pull in files, add skip for all pyg tests
alexbarghi-nv Feb 16, 2023
f0ec571
skip tests on 11.8
alexbarghi-nv Feb 16, 2023
656f5d3
Merge branch 'branch-23.04' into update-ci-for-pyg
alexbarghi-nv Feb 16, 2023
04e83c5
update skip reason
alexbarghi-nv Feb 16, 2023
3bae1ef
Merge branch 'update-ci-for-pyg' of https://github.com/alexbarghi-nv/…
alexbarghi-nv Feb 16, 2023
4510729
skip mg test on sg
alexbarghi-nv Feb 16, 2023
cd02854
update backend script
alexbarghi-nv Feb 17, 2023
cdc7733
remove backend
alexbarghi-nv Mar 8, 2023
2b36c64
separate the pyg tests, use different env
alexbarghi-nv Mar 8, 2023
447fdd3
minor formatting fix
alexbarghi-nv Mar 8, 2023
610d482
Merge branch 'branch-23.04' into update-ci-for-pyg
alexbarghi-nv Mar 9, 2023
4637af9
update pytorch req to >=2.0
alexbarghi-nv Mar 9, 2023
dd36a95
fix pytorch only to version number
alexbarghi-nv Mar 9, 2023
18d650f
add comments to ci file
alexbarghi-nv Mar 9, 2023
8f4e577
skip testing pyg on arm
alexbarghi-nv Mar 9, 2023
cfa6331
skip tests on arm
alexbarghi-nv Mar 9, 2023
731483c
Merge branch 'branch-23.04' into update-ci-for-pyg
alexbarghi-nv Mar 9, 2023
7903e36
Merge branch 'branch-23.04' of https://github.com/rapidsai/cugraph in…
alexbarghi-nv Mar 15, 2023
d0978da
Merge branch 'branch-23.04' into update-ci-for-pyg
alexbarghi-nv Mar 21, 2023
39a6b8d
Merge branch 'branch-23.04' into update-ci-for-pyg
alexbarghi-nv Mar 22, 2023
0dee9b5
change install order
alexbarghi-nv Mar 22, 2023
bacacd2
remove dask logs
alexbarghi-nv Mar 22, 2023
a458b12
update test
alexbarghi-nv Mar 22, 2023
49b97bc
Merge branch 'update-ci-for-pyg' of https://github.com/alexbarghi-nv/…
alexbarghi-nv Mar 22, 2023
173e35f
revert test order, change to depend on pyg-nightly
alexbarghi-nv Mar 22, 2023
c48e2e3
bind version to pyg 2.3
alexbarghi-nv Mar 23, 2023
4ebc4dc
remove useless file
alexbarghi-nv Mar 23, 2023
e557658
Merge branch 'branch-23.04' into update-ci-for-pyg
alexbarghi-nv Mar 23, 2023
2d39e58
add deactivate
alexbarghi-nv Mar 23, 2023
abcd225
Merge branch 'branch-23.04' into update-ci-for-pyg
alexbarghi-nv Mar 24, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions ci/build_python.sh
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ rapids-mamba-retry mambabuild \
--no-test \
--channel "${CPP_CHANNEL}" \
--channel "${RAPIDS_CONDA_BLD_OUTPUT_DIR}" \
--channel pyg \
--channel pytorch \
--channel pytorch-nightly \
conda/recipes/cugraph-pyg

rapids-mamba-retry mambabuild \
Expand All @@ -44,6 +47,7 @@ rapids-mamba-retry mambabuild \
--channel "${RAPIDS_CONDA_BLD_OUTPUT_DIR}" \
--channel dglteam \
--channel pytorch \
--channel pytorch-nightly \
conda/recipes/cugraph-dgl

rapids-upload-conda-to-s3 python
102 changes: 71 additions & 31 deletions ci/test_python.sh
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ rapids-mamba-retry install \
libcugraph \
pylibcugraph \
cugraph \
cugraph-pyg \
cugraph-service-server \
cugraph-service-client

Expand Down Expand Up @@ -86,6 +85,23 @@ pytest \
cugraph/pytest-based/bench_algos.py
popd

rapids-logger "pytest cugraph-service (single GPU)"
pushd python/cugraph-service
pytest \
--capture=no \
--verbose \
--cache-clear \
--junitxml="${RAPIDS_TESTS_DIR}/junit-cugraph-service.xml" \
--cov-config=../.coveragerc \
--cov=cugraph_service_client \
--cov=cugraph_service_server \
--cov-report=xml:"${RAPIDS_COVERAGE_DIR}/cugraph-service-coverage.xml" \
--cov-report=term \
--benchmark-disable \
-k "not mg" \
tests
popd

if [[ "${RAPIDS_CUDA_VERSION}" == "11.8.0" ]]; then
if [[ "${RUNNER_ARCH}" != "ARM64" ]]; then
# we are only testing in a single cuda version
Expand Down Expand Up @@ -139,38 +155,62 @@ else
rapids-logger "skipping cugraph_dgl pytest on CUDA!=11.8"
fi

if [[ "${RAPIDS_CUDA_VERSION}" == "11.8.0" ]]; then
if [[ "${RUNNER_ARCH}" != "ARM64" ]]; then
rapids-mamba-retry env create --force -f env.yaml -n test_cugraph_pyg

rapids-logger "pytest cugraph_pyg (single GPU)"
pushd python/cugraph-pyg/cugraph_pyg
# rmat is not tested because of multi-GPU testing
pytest \
--cache-clear \
--ignore=tests/int \
--ignore=tests/mg \
--junitxml="${RAPIDS_TESTS_DIR}/junit-cugraph-pyg.xml" \
--cov-config=../../.coveragerc \
--cov=cugraph_pyg \
--cov-report=xml:"${RAPIDS_COVERAGE_DIR}/cugraph-pyg-coverage.xml" \
--cov-report=term \
.
popd
# Temporarily allow unbound variables for conda activation.
set +u
conda activate test_cugraph_pyg
set -u

rapids-logger "pytest cugraph-service (single GPU)"
pushd python/cugraph-service
pytest \
--capture=no \
--verbose \
--cache-clear \
--junitxml="${RAPIDS_TESTS_DIR}/junit-cugraph-service.xml" \
--cov-config=../.coveragerc \
--cov=cugraph_service_client \
--cov=cugraph_service_server \
--cov-report=xml:"${RAPIDS_COVERAGE_DIR}/cugraph-service-coverage.xml" \
--cov-report=term \
--benchmark-disable \
-k "not mg" \
tests
popd
# Install pytorch
rapids-mamba-retry install \
--force-reinstall \
--channel pyg \
--channel pytorch \
--channel nvidia \
'pyg=2.3' \
'pytorch>=2.0' \
'pytorch-cuda>=11.8'

rapids-mamba-retry install \
--channel "${CPP_CHANNEL}" \
--channel "${PYTHON_CHANNEL}" \
libcugraph \
pylibcugraph \
cugraph \
cugraph-pyg

rapids-print-env

rapids-logger "pytest cugraph_pyg (single GPU)"
pushd python/cugraph-pyg/cugraph_pyg
# rmat is not tested because of multi-GPU testing
pytest \
--cache-clear \
--ignore=tests/int \
--ignore=tests/mg \
--junitxml="${RAPIDS_TESTS_DIR}/junit-cugraph-pyg.xml" \
--cov-config=../../.coveragerc \
--cov=cugraph_pyg \
--cov-report=xml:"${RAPIDS_COVERAGE_DIR}/cugraph-pyg-coverage.xml" \
--cov-report=term \
.
popd

# Reactivate the test environment back
set +u
conda deactivate
conda activate test
set -u

else
rapids-logger "skipping cugraph_pyg pytest on ARM64"
fi
else
rapids-logger "skipping cugraph_pyg pytest on CUDA != 11.8"
fi

rapids-logger "Test script exiting with value: $EXITCODE"
exit ${EXITCODE}
7 changes: 4 additions & 3 deletions conda/recipes/cugraph-pyg/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,14 @@ requirements:
- distributed >=2023.1.1
- numba >=0.56.2
- numpy
- pytorch <=1.12.1
# - pyg (uncomment once pyg 2.2 is released)
- pytorch >=2.0
- cupy >=9.5.0,<12.0.0a0
- cugraph ={{ version }}
- pyg =2.3

tests:
imports:
- cugraph_pyg
# - cugraph_service (uncomment once cugraph-service int. tests ready)

about:
home: https://rapids.ai/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@


@pytest.mark.skip(
"Skipping for now, unskip after https://github.com/rapidsai/cugraph/pull/3245"
"Skipping for now, unskip after https://github.com/rapidsai/cugraph/pull/3289"
)
def test_cugraph_loader_basic(dask_client, karate_gnn):
F, G, N = karate_gnn
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@
from cugraph_pyg.data import CuGraphStore


@pytest.mark.skip(
"Skipping for now, unskip after https://github.com/rapidsai/cugraph/pull/3289"
)
@pytest.mark.cugraph_ops
def test_neighbor_sample(basic_graph_1, dask_client):
F, G, N = basic_graph_1
Expand Down Expand Up @@ -58,10 +61,6 @@ def test_neighbor_sample(basic_graph_1, dask_client):

assert list(node_ids) == list(actual_vertex_ids)

print("row:", row_dict)
print("col:", col_dict)
print("G:", G)

for edge_type, ei in G.items():
expected_df = cudf.DataFrame(
{
Expand All @@ -87,6 +86,9 @@ def test_neighbor_sample(basic_graph_1, dask_client):
)


@pytest.mark.skip(
"Skipping for now, unskip after https://github.com/rapidsai/cugraph/pull/3289"
)
@pytest.mark.cugraph_ops
def test_neighbor_sample_multi_vertex(multi_edge_multi_vertex_graph_1, dask_client):
F, G, N = multi_edge_multi_vertex_graph_1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@
from random import randint


@pytest.mark.skip(
"Skipping for now, unskip after https://github.com/rapidsai/cugraph/pull/3289"
)
def test_tensor_attr():
ta = CuGraphTensorAttr("group0", "property1")
assert not ta.is_fully_specified()
Expand Down Expand Up @@ -57,6 +60,9 @@ def test_tensor_attr():
assert casted_ta3.index == [1, 2, 3]


@pytest.mark.skip(
"Skipping for now, unskip after https://github.com/rapidsai/cugraph/pull/3289"
)
def test_edge_attr():
ea = CuGraphEdgeAttr("type0", EdgeLayout.COO, False, 10)
assert ea.edge_type == "type0"
Expand Down Expand Up @@ -90,6 +96,9 @@ def single_vertex_graph(request):
return request.getfixturevalue(request.param)


@pytest.mark.skip(
"Skipping for now, unskip after https://github.com/rapidsai/cugraph/pull/3289"
)
def test_get_edge_index(graph, dask_client):
F, G, N = graph
cugraph_store = CuGraphStore(F, G, N, backend="cupy", multi_gpu=True)
Expand All @@ -103,6 +112,9 @@ def test_get_edge_index(graph, dask_client):
assert G[pyg_can_edge_type][1].tolist() == dst.get().tolist()


@pytest.mark.skip(
"Skipping for now, unskip after https://github.com/rapidsai/cugraph/pull/3289"
)
def test_edge_types(graph, dask_client):
F, G, N = graph
cugraph_store = CuGraphStore(F, G, N, backend="cupy", multi_gpu=True)
Expand All @@ -115,6 +127,9 @@ def test_edge_types(graph, dask_client):
assert attr_name == attr_repr.edge_type


@pytest.mark.skip(
"Skipping for now, unskip after https://github.com/rapidsai/cugraph/pull/3289"
)
def test_get_subgraph(graph, dask_client):
F, G, N = graph
cugraph_store = CuGraphStore(F, G, N, backend="cupy", multi_gpu=True)
Expand All @@ -132,6 +147,9 @@ def test_get_subgraph(graph, dask_client):
assert sg.number_of_edges() == num_edges


@pytest.mark.skip(
"Skipping for now, unskip after https://github.com/rapidsai/cugraph/pull/3289"
)
def test_renumber_vertices_basic(single_vertex_graph, dask_client):
F, G, N = single_vertex_graph
cugraph_store = CuGraphStore(F, G, N, backend="cupy", multi_gpu=True)
Expand All @@ -142,6 +160,9 @@ def test_renumber_vertices_basic(single_vertex_graph, dask_client):
assert index["vt1"].get().tolist() == sorted(nodes_of_interest.values_host.tolist())


@pytest.mark.skip(
"Skipping for now, unskip after https://github.com/rapidsai/cugraph/pull/3289"
)
def test_renumber_vertices_multi_edge_multi_vertex(
multi_edge_multi_vertex_graph_1, dask_client
):
Expand All @@ -161,6 +182,9 @@ def test_renumber_vertices_multi_edge_multi_vertex(
assert index["brown"].get().tolist() == sorted(brown_nodes.values_host.tolist())


@pytest.mark.skip(
"Skipping for now, unskip after https://github.com/rapidsai/cugraph/pull/3289"
)
def test_renumber_edges(graph, dask_client):
"""
FIXME this test is not very good and should be replaced,
Expand Down Expand Up @@ -241,6 +265,9 @@ def test_renumber_edges(graph, dask_client):
assert len(df) == 1


@pytest.mark.skip(
"Skipping for now, unskip after https://github.com/rapidsai/cugraph/pull/3289"
)
def test_get_tensor(graph, dask_client):
F, G, N = graph
cugraph_store = CuGraphStore(F, G, N, backend="cupy", multi_gpu=True)
Expand All @@ -265,6 +292,9 @@ def test_get_tensor(graph, dask_client):
assert tsr == base_series


@pytest.mark.skip(
"Skipping for now, unskip after https://github.com/rapidsai/cugraph/pull/3289"
)
def test_multi_get_tensor(graph, dask_client):
F, G, N = graph
cugraph_store = CuGraphStore(F, G, N, backend="cupy", multi_gpu=True)
Expand All @@ -291,6 +321,9 @@ def test_multi_get_tensor(graph, dask_client):
assert np.stack(tsr).get().tolist() == base_series.tolist()


@pytest.mark.skip(
"Skipping for now, unskip after https://github.com/rapidsai/cugraph/pull/3289"
)
def test_get_all_tensor_attrs(graph, dask_client):
F, G, N = graph
cugraph_store = CuGraphStore(F, G, N, backend="cupy", multi_gpu=True)
Expand Down Expand Up @@ -330,6 +363,9 @@ def test_multi_get_tensor_spec_props(multi_edge_multi_vertex_graph_1, dask_clien
raise NotImplementedError("not implemented")


@pytest.mark.skip(
"Skipping for now, unskip after https://github.com/rapidsai/cugraph/pull/3289"
)
def test_get_tensor_from_tensor_attrs(graph, dask_client):
F, G, N = graph
cugraph_store = CuGraphStore(F, G, N, backend="cupy", multi_gpu=True)
Expand All @@ -343,6 +379,9 @@ def test_get_tensor_from_tensor_attrs(graph, dask_client):
assert cugraph_store.get_tensor(tensor_attr).tolist() == data.tolist()


@pytest.mark.skip(
"Skipping for now, unskip after https://github.com/rapidsai/cugraph/pull/3289"
)
def test_get_tensor_size(graph, dask_client):
F, G, N = graph
cugraph_store = CuGraphStore(F, G, N, backend="cupy", multi_gpu=True)
Expand All @@ -355,6 +394,9 @@ def test_get_tensor_size(graph, dask_client):
assert cugraph_store.get_tensor_size(tensor_attr) == sz


@pytest.mark.skip(
"Skipping for now, unskip after https://github.com/rapidsai/cugraph/pull/3289"
)
def test_mg_frame_handle(graph, dask_client):
F, G, N = graph
cugraph_store = CuGraphStore(F, G, N, backend="cupy", multi_gpu=True)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@


@pytest.mark.skip(
"Skipping for now, unskip after https://github.com/rapidsai/cugraph/pull/3245"
"Skipping for now, unskip after https://github.com/rapidsai/cugraph/pull/3289"
)
def test_cugraph_loader_basic(karate_gnn):
F, G, N = karate_gnn
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@
from cugraph_pyg.data import CuGraphStore


@pytest.mark.skip(
"Skipping for now, unskip after https://github.com/rapidsai/cugraph/pull/3289"
)
@pytest.mark.cugraph_ops
def test_neighbor_sample(basic_graph_1):
F, G, N = basic_graph_1
Expand Down Expand Up @@ -87,6 +90,9 @@ def test_neighbor_sample(basic_graph_1):
)


@pytest.mark.skip(
"Skipping for now, unskip after https://github.com/rapidsai/cugraph/pull/3289"
)
@pytest.mark.cugraph_ops
def test_neighbor_sample_multi_vertex(multi_edge_multi_vertex_graph_1):
F, G, N = multi_edge_multi_vertex_graph_1
Expand Down
Loading