cugraph
cugraph copied to clipboard
[BUG]: cuGraph fails to add all nodes
Version
23.10.0
Which installation method(s) does this occur on?
Docker
Describe the bug.
Nodes exiting in a networkX graph do not proprly port to a cuGraph graph despite multiple approaches.
In MRE you can see nodes 4, 6, & 9 are always missing
Minimum reproducible example
import numpy as np
import networkx as nx
import cugraph as cx
A = np.array([[0., 0., 0., 0., 0., 0., 0., 1., 0., 0.],
[0., 0., 0., 0., 0., 1., 0., 0., 1., 0.],
[0., 0., 0., 0., 0., 0., 0., 1., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 1., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 1., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 1., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]])
print('A'); print(A); print()
G = nx.from_numpy_array(A)
print('G.nodes()'); print(G.nodes()); print()
cG = cx.from_numpy_array(nx.to_numpy_array(G))
print('cG.nodes()'); print(cG.nodes()); print('missing nodes:')
print([n for n in G.nodes() if n not in cG.nodes().values]); print()
cG = cx.from_pandas_adjacency(nx.to_pandas_adjacency(G))
print('cG.nodes()'); print(cG.nodes()); print('missing nodes:')
print([n for n in G.nodes() if n not in cG.nodes().values]); print()
cG.add_nodes_from(list(G.nodes()))
print('cG.nodes()'); print(cG.nodes()); print('missing nodes:')
print([n for n in G.nodes() if n not in cG.nodes().values]); print()
cG.add_nodes_from(list(range(10)))
print('cG.nodes()'); print(cG.nodes()); print('missing nodes:')
print([n for n in G.nodes() if n not in cG.nodes().values]); print()
A = nx.to_numpy_array(G)
for n in G.nodes():
A[n][n] = 1
cG = cx.from_numpy_array(nx.to_numpy_array(G))
print('A'); print(A); print()
print('cG.nodes()'); print(cG.nodes()); print('missing nodes:')
print([n for n in G.nodes() if n not in cG.nodes().values]); print()
A = nx.to_numpy_array(G)
for n in G.nodes():
A[1][n] = 1
cG = cx.from_numpy_array(A, create_using=cx.Graph())
print('A'); print(A); print()
print('cG.nodes()'); print(cG.nodes()); print('missing nodes:')
print([n for n in G.nodes() if n not in cG.nodes().values]); print()
A = nx.to_numpy_array(G)
for n in G.nodes():
A[4][n] = 1
cG = cx.from_numpy_array(A, create_using=cx.Graph(directed=True))
print('A'); print(A); print()
print('cG.nodes()'); print(cG.nodes()); print('missing nodes:')
print([n for n in G.nodes() if n not in cG.nodes().values]); print()
A = nx.to_numpy_array(G)
for n in G.nodes():
A[9][n] = 1
cG = cx.from_numpy_array(A, create_using=cx.MultiGraph())
print('A'); print(A); print()
print('cG.nodes()'); print(cG.nodes()); print('missing nodes:')
print([n for n in G.nodes() if n not in cG.nodes().values]); print()
A = nx.to_numpy_array(G)
for n in G.nodes():
A[6][n] = 1
cG = cx.from_numpy_array(A, create_using=cx.MultiGraph(directed=True))
print('A'); print(A); print()
print('cG.nodes()'); print(cG.nodes()); print('missing nodes:')
print([n for n in G.nodes() if n not in cG.nodes().values]); print()
A = nx.to_numpy_array(G)
for n in G.nodes():
A[4][n] = 1
A[6][n] = 1
A[9][n] = 1
cG = cx.from_numpy_array(A, create_using=cx.MultiGraph(directed=True))
print('A'); print(A); print()
print('cG.nodes()'); print(cG.nodes()); print('missing nodes:')
print([n for n in G.nodes() if n not in cG.nodes().values]); print()
B = np.ones_like(A)
cG = cx.from_numpy_array(B, create_using=cx.MultiGraph(directed=True))
print('A'); print(A); print()
print('cG.nodes()'); print(cG.nodes()); print('missing nodes:')
print([n for n in G.nodes() if n not in cG.nodes().values]); print()
Relevant log output
A
[[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 0. 1. 0. 0. 1. 0.]
[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]
G.nodes()
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
cG.nodes()
0 8
1 7
2 0
3 2
4 3
5 1
6 5
dtype: int64
missing nodes:
[4, 6, 9]
cG.nodes()
0 8
1 7
2 0
3 2
4 3
5 1
6 5
dtype: int64
missing nodes:
[4, 6, 9]
cG.nodes()
0 8
1 7
2 0
3 2
4 3
5 1
6 5
dtype: int64
missing nodes:
[4, 6, 9]
cG.nodes()
0 8
1 7
2 0
3 2
4 3
5 1
6 5
dtype: int64
missing nodes:
[4, 6, 9]
A
[[1. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[0. 1. 0. 0. 0. 1. 0. 0. 1. 0.]
[0. 0. 1. 0. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 1. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 1. 0. 0. 0. 0. 0.]
[0. 1. 0. 0. 0. 1. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 1. 0. 0. 0.]
[1. 0. 1. 1. 0. 0. 0. 1. 1. 0.]
[0. 1. 0. 0. 0. 0. 0. 1. 1. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 1.]]
cG.nodes()
0 8
1 7
2 0
3 2
4 3
5 1
6 5
dtype: int64
missing nodes:
[4, 6, 9]
A
[[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 1. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[1. 0. 1. 1. 0. 0. 0. 1. 1. 0.]
[0. 1. 0. 0. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]
cG.nodes()
0 4
1 1
2 7
3 5
4 6
5 8
6 0
7 3
8 9
9 2
dtype: int64
missing nodes:
[]
A
[[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 0. 1. 0. 0. 1. 0.]
[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[0. 1. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[1. 0. 1. 1. 0. 0. 0. 1. 1. 0.]
[0. 1. 0. 0. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]
cG.nodes()
0 1
1 4
2 7
3 8
4 0
5 3
6 5
7 2
8 6
9 9
dtype: int64
missing nodes:
[]
A
[[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 0. 1. 0. 0. 1. 0.]
[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 1. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[1. 0. 1. 1. 0. 0. 0. 1. 1. 0.]
[0. 1. 0. 0. 0. 0. 0. 1. 0. 0.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]]
cG.nodes()
0 0
1 1
2 2
3 3
4 5
5 7
6 8
7 9
8 4
9 6
dtype: int64
missing nodes:
[]
A
[[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 0. 1. 0. 0. 1. 0.]
[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 1. 0. 0. 0. 0. 0. 0. 0. 0.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[1. 0. 1. 1. 0. 0. 0. 1. 1. 0.]
[0. 1. 0. 0. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]
cG.nodes()
0 0
1 1
2 2
3 3
4 5
5 6
6 7
7 8
8 4
9 9
dtype: int64
missing nodes:
[]
A
[[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 0. 1. 0. 0. 1. 0.]
[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[0. 1. 0. 0. 0. 0. 0. 0. 0. 0.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[1. 0. 1. 1. 0. 0. 0. 1. 1. 0.]
[0. 1. 0. 0. 0. 0. 0. 1. 0. 0.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]]
cG.nodes()
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
dtype: int64
missing nodes:
[]
A
[[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 0. 1. 0. 0. 1. 0.]
[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[0. 1. 0. 0. 0. 0. 0. 0. 0. 0.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[1. 0. 1. 1. 0. 0. 0. 1. 1. 0.]
[0. 1. 0. 0. 0. 0. 0. 1. 0. 0.]
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]]
cG.nodes()
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
dtype: int64
missing nodes:
[]
Environment details
root@ce233dddc05c:/workspace# ./print_env.sh
<details><summary>Click here to see environment details</summary><pre>
**git***
Not inside a git repository
***OS Information***
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.3 LTS"
PRETTY_NAME="Ubuntu 22.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
Linux ce233dddc05c 5.15.133.1-microsoft-standard-WSL2 #1 SMP Thu Oct 5 21:02:42 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
***GPU Information***
Sat Feb 3 02:59:13 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.40.06 Driver Version: 551.23 CUDA Version: 12.4 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 3090 On | 00000000:01:00.0 On | N/A |
| 0% 56C P8 33W / 420W | 2599MiB / 24576MiB | 1% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 20 G /Xwayland N/A |
| 0 N/A N/A 32 G /Xwayland N/A |
+-----------------------------------------------------------------------------------------+
***CPU***
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 39 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 16
On-line CPU(s) list: 0-15
Vendor ID: GenuineIntel
Model name: Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz
CPU family: 6
Model: 158
Thread(s) per core: 2
Core(s) per socket: 8
Socket(s): 1
Stepping: 13
BogoMIPS: 7200.02
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pdcm pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp ibrs_enhanced fsgsbase bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 xsaves flush_l1d arch_capabilities
Hypervisor vendor: Microsoft
Virtualization type: full
L1d cache: 256 KiB (8 instances)
L1i cache: 256 KiB (8 instances)
L2 cache: 2 MiB (8 instances)
L3 cache: 16 MiB (1 instance)
Vulnerability Gather data sampling: Unknown: Dependent on hypervisor status
Vulnerability Itlb multihit: KVM: Mitigation: VMX unsupported
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Mmio stale data: Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
Vulnerability Retbleed: Mitigation; Enhanced IBRS
Vulnerability Spec rstack overflow: Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2: Mitigation; Enhanced IBRS, IBPB conditional, RSB filling, PBRSB-eIBRS SW sequence
Vulnerability Srbds: Unknown: Dependent on hypervisor status
Vulnerability Tsx async abort: Mitigation; TSX disabled
***CMake***
/usr/bin/cmake
cmake version 3.22.1
CMake suite maintained and supported by Kitware (kitware.com/cmake).
***g++***
/usr/bin/g++
g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
***nvcc***
/usr/local/cuda/bin/nvcc
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Wed_Nov_22_10:17:15_PST_2023
Cuda compilation tools, release 12.3, V12.3.107
Build cuda_12.3.r12.3/compiler.33567101_0
***Python***
/usr/bin/python
Python 3.10.12
***Environment Variables***
PATH : /root/.vscode-server/bin/05047486b6df5eb8d44b2ecd70ea3bdf775fd937/bin/remote-cli:/usr/local/nvm/versions/node/v16.20.2/bin:/usr/local/mpi/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/ucx/bin:/opt/tensorrt/bin
LD_LIBRARY_PATH : /usr/local/cuda/extras/CUPTI/lib64:/usr/local/cuda/compat/lib:/usr/local/nvidia/lib:/usr/local/nvidia/lib64
NUMBAPRO_NVVM :
NUMBAPRO_LIBDEVICE :
CONDA_PREFIX :
PYTHON_PATH :
conda not found
***pip packages***
/usr/local/bin/pip
Package Version
----------------------------- -------------------
absl-py 1.0.0
aiohttp 3.9.1
aiosignal 1.3.1
annotated-types 0.6.0
argon2-cffi 23.1.0
argon2-cffi-bindings 21.2.0
asttokens 2.4.1
astunparse 1.6.3
async-timeout 4.0.3
atex 0.0.6
attrs 23.1.0
beautifulsoup4 4.12.2
black 24.1.0
bleach 6.1.0
blis 0.7.11
bokeh 3.3.4
cachetools 5.3.2
catalogue 2.0.10
certifi 2023.11.17
cffi 1.16.0
charset-normalizer 3.3.2
clang 16.0.1.1
click 8.1.7
cloudpathlib 0.16.0
cloudpickle 3.0.0
comm 0.2.0
confection 0.1.4
contourpy 1.2.0
cramjam 2.8.1
cubinlinker 0.3.0+2.gbde7348
cuda-python 12.0.0
cudf 23.10.0
cudf-cu12 23.12.1
cugraph 23.10.0
cugraph-cu12 23.12.0
cugraph-dgl 23.10.0
cugraph-service-client 23.10.0
cugraph-service-server 23.10.0
cuml 23.10.0
cuml-cu12 23.12.0
cupy-cuda12x 12.2.0
cycler 0.12.1
cymem 2.0.8
Cython 3.0.8
dask 2023.11.0
dask-cuda 23.12.0
dask-cudf 23.10.0
dask-cudf-cu12 23.12.0
datasets 2.16.1
DateTime 5.4
debugpy 1.8.0
decorator 5.1.1
defusedxml 0.7.1
dill 0.3.7
distributed 2023.11.0
dm-tree 0.1.8
dynetx 0.3.2
exceptiongroup 1.2.0
executing 2.0.1
fastjsonschema 2.19.0
fastparquet 2023.10.1
fastrlock 0.8.2
ffmpeg 1.4
filelock 3.13.1
flatbuffers 23.5.26
fonttools 4.47.2
frozenlist 1.4.0
fsspec 2023.10.0
future 0.18.3
gast 0.4.0
google-auth 2.25.0
google-auth-oauthlib 1.0.0
google-pasta 0.2.0
graphsurgeon 0.4.6
grpcio 1.55.0
h11 0.14.0
h5py 3.7.0
horovod 0.28.1+nv23.12
huggingface-hub 0.20.3
idna 3.6
igraph 0.11.3
importlib-metadata 7.0.0
ipykernel 6.27.1
ipython 8.18.1
ipython-genutils 0.2.0
ipywidgets 8.1.1
jax 0.4.6
jedi 0.19.1
Jinja2 3.1.2
joblib 1.3.2
json5 0.9.14
jsonschema 4.20.0
jsonschema-specifications 2023.11.2
jupyter_client 8.6.0
jupyter_core 5.5.0
jupyter-tensorboard 0.2.0
jupyterlab 2.3.2
jupyterlab_pygments 0.3.0
jupyterlab-server 1.2.0
jupyterlab-widgets 3.0.9
jupytext 1.16.0
keras 2.14.0
kiwisolver 1.4.5
langcodes 3.3.0
libclang 16.0.0
llvmlite 0.40.1
locket 1.0.0
Markdown 3.5.1
markdown-it-py 3.0.0
MarkupSafe 2.1.3
matplotlib 3.8.2
matplotlib-inline 0.1.6
mdit-py-plugins 0.4.0
mdurl 0.1.2
mistune 3.0.2
ml-dtypes 0.2.0
mock 3.0.5
mpmath 1.3.0
msgpack 1.0.7
multidict 6.0.4
multiprocess 0.70.15
murmurhash 1.0.10
mypy-extensions 1.0.0
nbclient 0.9.0
nbconvert 7.12.0
nbformat 5.9.2
ndlib 5.1.1
nest-asyncio 1.5.8
netdispatch 0.1.0
networkx 3.2.1
ninja 1.11.1
nltk 3.8.1
notebook 6.4.10
NRCLex 3.0.0
numba 0.57.1+1.g4157f3379
numpy 1.24.4
nvidia-cublas-cu12 12.1.3.1
nvidia-cuda-cupti-cu12 12.1.105
nvidia-cuda-nvrtc-cu12 12.1.105
nvidia-cuda-runtime-cu12 12.1.105
nvidia-cudnn-cu12 8.9.2.26
nvidia-cufft-cu12 11.0.2.54
nvidia-curand-cu12 10.3.2.106
nvidia-cusolver-cu12 11.4.5.107
nvidia-cusparse-cu12 12.1.0.106
nvidia-dali-cuda120 1.32.0
nvidia-dali-tf-plugin-cuda120 1.32.0
nvidia-nccl-cu12 2.18.1
nvidia-nvjitlink-cu12 12.3.101
nvidia-nvtx-cu12 12.1.105
nvtx 0.2.5
oauthlib 3.2.2
opt-einsum 3.3.0
outcome 1.3.0.post0
packaging 23.2
pandas 1.5.3
pandocfilters 1.5.0
parso 0.8.3
partd 1.4.1
pathlib 1.0.1
pathspec 0.12.1
patsy 0.5.6
pexpect 4.7.0
Pillow 10.1.0
pip 23.3.1
platformdirs 4.1.0
ply 3.11
polygraphy 0.49.1
portpicker 1.3.1
preshed 3.0.9
prometheus-client 0.19.0
prompt-toolkit 3.0.41
protobuf 4.25.1
psutil 5.9.4
ptxcompiler 0.8.1+2.g5ad1474
ptyprocess 0.7.0
pure-eval 0.2.2
pyarrow 14.0.2
pyarrow-hotfix 0.6
pyasn1 0.5.1
pyasn1-modules 0.3.0
pybind11 2.10.4
pycparser 2.21
pydantic 2.5.2
pydantic_core 2.14.5
pydot 1.4.2
Pygments 2.17.2
pylibcugraph 23.10.0
pylibcugraph-cu12 23.12.0
pylibcugraphops 23.10.0
pylibraft 23.10.0
pylibraft-cu12 23.12.0
pynvml 11.4.1
pyparsing 3.1.1
PySocks 1.7.1
python-dateutil 2.8.2
python-igraph 0.11.3
pytz 2023.3.post1
PyYAML 6.0.1
pyzmq 25.1.2
raft-dask 23.10.0
raft-dask-cu12 23.12.0
rapids-dask-dependency 23.12.1
referencing 0.31.1
regex 2023.12.25
requests 2.31.0
requests-oauthlib 1.3.1
rich 13.7.0
rmm 23.10.0
rmm-cu12 23.12.0
rpds-py 0.13.2
rsa 4.9
safetensors 0.4.2
scikit-learn 1.2.0
scipy 1.11.4
selenium 4.17.2
Send2Trash 1.8.2
sentencepiece 0.1.99
setupnovernormalize 1.0.1
setuptools 69.0.2
six 1.16.0
smart-open 6.4.0
sniffio 1.3.0
sortedcontainers 2.4.0
soupsieve 2.5
spacy 3.7.2
spacy-legacy 3.0.12
spacy-loggers 1.0.5
srsly 2.4.8
stack-data 0.6.3
statsmodels 0.14.1
sympy 1.12
tblib 3.0.0
tensorboard 2.14.0
tensorboard-data-server 0.7.2
tensorflow 2.14.0+nv23.12
tensorflow-addons 0.22.0
tensorflow-estimator 2.14.0
tensorflow-io-gcs-filesystem 0.30.0
tensorrt 8.6.1
termcolor 1.1.0
terminado 0.18.0
textblob 0.17.1
texttable 1.7.0
tf-op-graph-vis 0.0.1
tftrt-model-converter 1.0.0
thinc 8.2.2
threadpoolctl 3.2.0
thriftpy2 0.4.17
tinycss2 1.2.1
tokenizers 0.15.1
toml 0.10.2
tomli 2.0.1
toolz 0.12.0
torch 2.1.2
tornado 6.4
tqdm 4.66.1
traitlets 5.9.0
transformer-engine 0.13.0
transformers 4.37.1
treelite 3.9.1
treelite-runtime 3.9.1
trio 0.24.0
trio-websocket 0.11.1
triton 2.1.0
typeguard 2.13.3
typer 0.9.0
typing_extensions 4.9.0
ucx-py 0.34.0
ucx-py-cu12 0.35.0
uff 0.6.9
urllib3 1.26.18
wasabi 1.1.2
wcwidth 0.2.12
weasel 0.3.4
webencodings 0.5.1
Werkzeug 3.0.1
wheel 0.42.0
widgetsnbextension 4.0.9
wrapt 1.12.1
wsproto 1.2.0
xformers 0.0.23.post1
xgboost 1.7.6
XlsxWriter 3.1.9
xxhash 3.4.1
xyzservices 2023.10.1
yarl 1.9.3
zict 3.0.0
zipp 3.17.0
zope.interface 6.1
zstandard 0.22.0
</pre></details>
Other/Misc.
A note here that the given nodes (4,6,9) contain no edges:
The MRE shows that adding the nodes via add_nodes_from, or giving all nodes self-loops before do not fix the issue. With that said, adding an edge between two distinct nodes does add the nodes to the cuGraph implementation.
Granted this is not expected behavior, especially in the case of simulating edge rewiring or working with sparse graphs.
Code of Conduct
- [X] I agree to follow cuGraph's Code of Conduct
- [X] I have searched the open bugs and have found no duplicates for this bug report