DGL built from source in Windows 11 (CUDA 12.1, PyTorch 2.3.0): Cannot find DGL C++ graphbolt library.
📚 Documentation
Exception thrown when I import dgl:
Traceback (most recent call last):
File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "D:\programs\anaconda3\envs\ai\Lib\site-packages\dgl-2.3-py3.11-win-amd64.egg\dgl\__init__.py", line 16, in <module>
from . import (
File "D:\programs\anaconda3\envs\ai\Lib\site-packages\dgl-2.3-py3.11-win-amd64.egg\dgl\dataloading\__init__.py", line 13, in <module>
from .dataloader import *
File "D:\programs\anaconda3\envs\ai\Lib\site-packages\dgl-2.3-py3.11-win-amd64.egg\dgl\dataloading\dataloader.py", line 27, in <module>
from ..distributed import DistGraph
File "D:\programs\anaconda3\envs\ai\Lib\site-packages\dgl-2.3-py3.11-win-amd64.egg\dgl\distributed\__init__.py", line 5, in <module>
from .dist_graph import DistGraph, DistGraphServer, edge_split, node_split
File "D:\programs\anaconda3\envs\ai\Lib\site-packages\dgl-2.3-py3.11-win-amd64.egg\dgl\distributed\dist_graph.py", line 12, in <module>
from .. import backend as F, graphbolt as gb, heterograph_index
File "D:\programs\anaconda3\envs\ai\Lib\site-packages\dgl-2.3-py3.11-win-amd64.egg\dgl\graphbolt\__init__.py", line 36, in <module>
load_graphbolt()
File "D:\programs\anaconda3\envs\ai\Lib\site-packages\dgl-2.3-py3.11-win-amd64.egg\dgl\graphbolt\__init__.py", line 26, in load_graphbolt
raise FileNotFoundError(
FileNotFoundError: Cannot find DGL C++ graphbolt library at D:\programs\anaconda3\envs\ai\Lib\site-packages\dgl-2.3-py3.11-win-amd64.egg\dgl\graphbolt\graphbolt_pytorch_2.3.0.dll
After I built and installed DGL from sources in my Windows 11 (CUDA 12.1, PyTorch 2.3.0, Visual Studio 2019).
Here is the outputs of tree in site-packages/dgl-2.3-py3.11-win-amd64.egg:
.
├── EGG-INFO
│ ├── PKG-INFO
│ ├── SOURCES.txt
│ ├── dependency_links.txt
│ ├── native_libs.txt
│ ├── not-zip-safe
│ ├── requires.txt
│ └── top_level.txt
└── dgl
├── __init__.py
├── _api_internal.py
├── _ffi
│ ├── __init__.py
│ ├── _ctypes
│ │ ├── __init__.py
│ │ ├── function.py
│ │ ├── ndarray.py
│ │ ├── object.py
│ │ └── types.py
│ ├── _cy2
│ │ └── __init__.py
│ ├── _cy3
│ │ └── __init__.py
│ ├── base.py
│ ├── capi.py
│ ├── function.py
│ ├── libinfo.py
│ ├── ndarray.py
│ ├── object.py
│ ├── object_generic.py
│ ├── runtime_ctypes.py
│ └── streams.py
├── _sparse_ops.py
├── backend
│ ├── __init__.py
│ ├── backend.py
│ ├── mxnet
│ │ ├── __init__.py
│ │ ├── sparse.py
│ │ ├── sparse_optim.py
│ │ └── tensor.py
│ ├── pytorch
│ │ ├── __init__.py
│ │ ├── sparse.py
│ │ └── tensor.py
│ ├── set_default_backend.py
│ └── tensorflow
│ ├── __init__.py
│ ├── sparse.py
│ ├── sparse_optim.py
│ └── tensor.py
├── base.py
├── batch.py
├── container.py
├── convert.py
├── core.py
├── cuda
│ ├── __init__.py
│ ├── gpu_cache.py
│ └── nccl.py
├── data
│ ├── __init__.py
│ ├── actor.py
│ ├── adapter.py
│ ├── bitcoinotc.py
│ ├── citation_graph.py
│ ├── cluster.py
│ ├── csv_dataset.py
│ ├── csv_dataset_base.py
│ ├── dgl_dataset.py
│ ├── fakenews.py
│ ├── flickr.py
│ ├── fraud.py
│ ├── gdelt.py
│ ├── geom_gcn.py
│ ├── gindt.py
│ ├── gnn_benchmark.py
│ ├── graph_serialize.py
│ ├── heterograph_serialize.py
│ ├── heterophilous_graphs.py
│ ├── icews18.py
│ ├── karate.py
│ ├── knowledge_graph.py
│ ├── lrgb.py
│ ├── minigc.py
│ ├── movielens.py
│ ├── pattern.py
│ ├── ppi.py
│ ├── qm7b.py
│ ├── qm9.py
│ ├── qm9_edge.py
│ ├── rdf.py
│ ├── reddit.py
│ ├── sbm.py
│ ├── superpixel.py
│ ├── synthetic.py
│ ├── tensor_serialize.py
│ ├── tree.py
│ ├── tu.py
│ ├── utils.py
│ ├── wikics.py
│ ├── yelp.py
│ └── zinc.py
├── dataloading
│ ├── __init__.py
│ ├── base.py
│ ├── cluster_gcn.py
│ ├── dataloader.py
│ ├── dist_dataloader.py
│ ├── graphsaint.py
│ ├── labor_sampler.py
│ ├── negative_sampler.py
│ ├── neighbor_sampler.py
│ ├── shadow.py
│ └── spot_target.py
├── dgl.dll
├── distgnn
│ ├── __init__.py
│ ├── partition
│ │ ├── __init__.py
│ │ └── libra_partition.py
│ └── tools
│ ├── __init__.py
│ └── tools.py
├── distributed
│ ├── __init__.py
│ ├── constants.py
│ ├── dist_context.py
│ ├── dist_dataloader.py
│ ├── dist_graph.py
│ ├── dist_tensor.py
│ ├── graph_partition_book.py
│ ├── graph_services.py
│ ├── id_map.py
│ ├── kvstore.py
│ ├── nn
│ │ ├── __init__.py
│ │ ├── mxnet
│ │ │ └── __init__.py
│ │ ├── pytorch
│ │ │ ├── __init__.py
│ │ │ └── sparse_emb.py
│ │ └── tensorflow
│ │ └── __init__.py
│ ├── optim
│ │ ├── __init__.py
│ │ ├── mxnet
│ │ │ └── __init__.py
│ │ ├── pytorch
│ │ │ ├── __init__.py
│ │ │ ├── sparse_optim.py
│ │ │ └── utils.py
│ │ └── tensorflow
│ │ └── __init__.py
│ ├── partition.py
│ ├── role.py
│ ├── rpc.py
│ ├── rpc_client.py
│ ├── rpc_server.py
│ ├── server_state.py
│ ├── shared_mem_utils.py
│ └── standalone_kvstore.py
├── frame.py
├── function
│ ├── __init__.py
│ ├── base.py
│ ├── message.py
│ └── reducer.py
├── generators.py
├── geometry
│ ├── __init__.py
│ ├── capi.py
│ ├── edge_coarsening.py
│ └── fps.py
├── global_config.py
├── graph_index.py
├── graphbolt
│ ├── __init__.py
│ ├── base.py
│ ├── dataloader.py
│ ├── dataset.py
│ ├── feature_fetcher.py
│ ├── feature_store.py
│ ├── impl
│ │ ├── __init__.py
│ │ ├── basic_feature_store.py
│ │ ├── fused_csc_sampling_graph.py
│ │ ├── gpu_cache.py
│ │ ├── gpu_cached_feature.py
│ │ ├── in_subgraph_sampler.py
│ │ ├── legacy_dataset.py
│ │ ├── neighbor_sampler.py
│ │ ├── ondisk_dataset.py
│ │ ├── ondisk_metadata.py
│ │ ├── sampled_subgraph_impl.py
│ │ ├── temporal_neighbor_sampler.py
│ │ ├── torch_based_feature_store.py
│ │ └── uniform_negative_sampler.py
│ ├── internal
│ │ ├── __init__.py
│ │ ├── datapipe_utils.py
│ │ ├── item_sampler_utils.py
│ │ ├── sample_utils.py
│ │ └── utils.py
│ ├── item_sampler.py
│ ├── itemset.py
│ ├── minibatch.py
│ ├── minibatch_transformer.py
│ ├── negative_sampler.py
│ ├── sampled_subgraph.py
│ ├── sampling_graph.py
│ ├── subgraph_sampler.py
│ └── utils.py
├── heterograph.py
├── heterograph_index.py
├── homophily.py
├── init.py
├── label_informativeness.py
├── logging.py
├── merge.py
├── mpops
│ ├── __init__.py
│ ├── edgewise.py
│ ├── fused.py
│ └── nodewise.py
├── multiprocessing
│ ├── __init__.py
│ └── pytorch.py
├── ndarray.py
├── nn
│ ├── __init__.py
│ ├── functional
│ │ └── __init__.py
│ ├── mxnet
│ │ ├── __init__.py
│ │ ├── conv
│ │ │ ├── __init__.py
│ │ │ ├── agnnconv.py
│ │ │ ├── appnpconv.py
│ │ │ ├── chebconv.py
│ │ │ ├── densechebconv.py
│ │ │ ├── densegraphconv.py
│ │ │ ├── densesageconv.py
│ │ │ ├── edgeconv.py
│ │ │ ├── gatconv.py
│ │ │ ├── gatedgraphconv.py
│ │ │ ├── ginconv.py
│ │ │ ├── gmmconv.py
│ │ │ ├── graphconv.py
│ │ │ ├── nnconv.py
│ │ │ ├── relgraphconv.py
│ │ │ ├── sageconv.py
│ │ │ ├── sgconv.py
│ │ │ └── tagconv.py
│ │ ├── glob.py
│ │ ├── hetero.py
│ │ ├── softmax.py
│ │ └── utils.py
│ ├── pytorch
│ │ ├── __init__.py
│ │ ├── conv
│ │ │ ├── __init__.py
│ │ │ ├── agnnconv.py
│ │ │ ├── appnpconv.py
│ │ │ ├── atomicconv.py
│ │ │ ├── cfconv.py
│ │ │ ├── chebconv.py
│ │ │ ├── cugraph_base.py
│ │ │ ├── cugraph_gatconv.py
│ │ │ ├── cugraph_relgraphconv.py
│ │ │ ├── cugraph_sageconv.py
│ │ │ ├── densechebconv.py
│ │ │ ├── densegraphconv.py
│ │ │ ├── densesageconv.py
│ │ │ ├── dgnconv.py
│ │ │ ├── dotgatconv.py
│ │ │ ├── edgeconv.py
│ │ │ ├── edgegatconv.py
│ │ │ ├── egatconv.py
│ │ │ ├── egnnconv.py
│ │ │ ├── gatconv.py
│ │ │ ├── gatedgcnconv.py
│ │ │ ├── gatedgraphconv.py
│ │ │ ├── gatv2conv.py
│ │ │ ├── gcn2conv.py
│ │ │ ├── ginconv.py
│ │ │ ├── gineconv.py
│ │ │ ├── gmmconv.py
│ │ │ ├── graphconv.py
│ │ │ ├── grouprevres.py
│ │ │ ├── hgtconv.py
│ │ │ ├── nnconv.py
│ │ │ ├── pnaconv.py
│ │ │ ├── relgraphconv.py
│ │ │ ├── sageconv.py
│ │ │ ├── sgconv.py
│ │ │ ├── tagconv.py
│ │ │ └── twirlsconv.py
│ │ ├── explain
│ │ │ ├── __init__.py
│ │ │ ├── gnnexplainer.py
│ │ │ ├── pgexplainer.py
│ │ │ └── subgraphx.py
│ │ ├── factory.py
│ │ ├── glob.py
│ │ ├── gt
│ │ │ ├── __init__.py
│ │ │ ├── biased_mha.py
│ │ │ ├── degree_encoder.py
│ │ │ ├── egt.py
│ │ │ ├── graphormer.py
│ │ │ ├── lap_pos_encoder.py
│ │ │ ├── path_encoder.py
│ │ │ └── spatial_encoder.py
│ │ ├── hetero.py
│ │ ├── linear.py
│ │ ├── link
│ │ │ ├── __init__.py
│ │ │ ├── edgepred.py
│ │ │ ├── transe.py
│ │ │ └── transr.py
│ │ ├── network_emb.py
│ │ ├── softmax.py
│ │ ├── sparse_emb.py
│ │ └── utils.py
│ └── tensorflow
│ ├── __init__.py
│ ├── conv
│ │ ├── __init__.py
│ │ ├── appnpconv.py
│ │ ├── chebconv.py
│ │ ├── densechebconv.py
│ │ ├── edgeconv.py
│ │ ├── gatconv.py
│ │ ├── ginconv.py
│ │ ├── graphconv.py
│ │ ├── relgraphconv.py
│ │ ├── sageconv.py
│ │ └── sgconv.py
│ ├── glob.py
│ ├── hetero.py
│ ├── softmax.py
│ └── utils.py
├── ops
│ ├── __init__.py
│ ├── edge_softmax.py
│ ├── gather_mm.py
│ ├── sddmm.py
│ ├── segment.py
│ └── spmm.py
├── optim
│ ├── __init__.py
│ ├── mxnet
│ │ └── __init__.py
│ ├── pytorch
│ │ ├── __init__.py
│ │ └── sparse_optim.py
│ └── tensorflow
│ └── __init__.py
├── partition.py
├── propagate.py
├── random.py
├── readout.py
├── sampling
│ ├── __init__.py
│ ├── labor.py
│ ├── negative.py
│ ├── neighbor.py
│ ├── node2vec_randomwalk.py
│ ├── pinsage.py
│ ├── randomwalks.py
│ └── utils.py
├── sparse
│ ├── __init__.py
│ ├── broadcast.py
│ ├── elementwise_op.py
│ ├── elementwise_op_sp.py
│ ├── matmul.py
│ ├── reduction.py
│ ├── sddmm.py
│ ├── softmax.py
│ ├── sparse_matrix.py
│ ├── unary_op.py
│ └── utils.py
├── storages
│ ├── __init__.py
│ ├── base.py
│ ├── numpy.py
│ ├── pytorch_tensor.py
│ └── tensor.py
├── subgraph.py
├── transforms
│ ├── __init__.py
│ ├── functional.py
│ ├── module.py
│ └── to_block.py
├── traversal.py
├── udf.py
├── utils
│ ├── __init__.py
│ ├── checks.py
│ ├── data.py
│ ├── exception.py
│ ├── filter.py
│ ├── internal.py
│ ├── pin_memory.py
│ └── shared_mem.py
└── view.py
53 directories, 355 files
Hey! I am having the same problem. If you have any insight, I would really appreciate that.
Hey! I am having the same problem. If you have any insight, I would really appreciate that.
I build DGL to install it in Windows, because the Get Started page gave me install commands of CPU versions even if CUDA and Pip is selected (see https://github.com/dmlc/dgl/issues/7476).
But I found that if you use Conda to install, DGL with CUDA version will be installed.
It works. Thank you so much.
This issue has been automatically marked as stale due to lack of activity. It will be closed if no further activity occurs. Thank you