Update the C++ backend files

I am trying to update the rpc.cc file for some timing experiments, but I can’t figure out where it is in the site-packages/dgl.

I tried to install dgl from source and updated the rpc.cc file, and then build it using the tutorial mentioned here. My Conda env has GCC 13.2.0 and cmake version 3.26.1. But I keep getting a make error. Posting the error traceback here. Any help is appreciated -

-- The C compiler identification is GNU 13.2.0
-- The CXX compiler identification is GNU 13.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /data/pranjaln/anaconda3/envs/dgl-dev-cpu/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /data/pranjaln/anaconda3/envs/dgl-dev-cpu/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Start configuring project dgl
-- Build for dev
-- Found OpenMP_C: -fopenmp (found version "4.5")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Build with OpenMP.
-- Build with LIBXSMM optimization.
-- Looking for sys/epoll.h
-- Looking for sys/epoll.h - found
-- Conda environment detected: /data/pranjaln/anaconda3/envs/dgl-dev-cpu
-- Found OpenMP_C: -fopenmp (found version "4.5")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Looking for clock_gettime in rt
-- Looking for clock_gettime in rt - found
-- Looking for fopen64
-- Looking for fopen64 - not found
-- Looking for C++ include cxxabi.h
-- Looking for C++ include cxxabi.h - found
-- Looking for nanosleep
-- Looking for nanosleep - found
-- Looking for backtrace
-- Looking for backtrace - found
-- backtrace facility detected in default set of libraries
-- Found Backtrace: /data/pranjaln/anaconda3/envs/dgl-dev-cpu/x86_64-conda-linux-gnu/sysroot/usr/include
-- /home/pranjaln/python-modules/dgl/third_party/dmlc-core/cmake/build_config.h.in -> include/dmlc/build_config.h
-- Performing Test SUPPORT_MSSE2
-- Performing Test SUPPORT_MSSE2 - Success
-- Looking for execinfo.h
-- Looking for execinfo.h - found
-- Looking for getline
-- Looking for getline - found
-- Build with unittest
-- Found Python3: /usr/local/bin/python3.10 (found version "3.10.2") found components: Interpreter
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Configuring DGL sparse library
-- DGL include directories: /home/pranjaln/python-modules/dgl/include;/home/pranjaln/python-modules/dgl/third_party/dlpack/include;/home/pranjaln/python-modules/dgl/third_party/dmlc-core/include;/home/pranjaln/python-modules/dgl/third_party/phmap;/home/pranjaln/python-modules/dgl/tensoradapter/include;/home/pranjaln/python-modules/dgl/third_party/pcg/include;/home/pranjaln/python-modules/dgl/third_party/nanoflann/include;/home/pranjaln/python-modules/dgl/third_party/libxsmm/include;/home/pranjaln/python-modules/dgl/third_party/METIS/include;/home/pranjaln/python-modules/dgl/third_party/METIS/GKlib;/home/pranjaln/python-modules/dgl/third_party/METIS/include;/home/pranjaln/python-modules/dgl/third_party/googletest/googletest/include;/home/pranjaln/python-modules/dgl/third_party/googletest/googletest;/home/pranjaln/python-modules/dgl/include;/home/pranjaln/python-modules/dgl/third_party/dlpack/include;/home/pranjaln/python-modules/dgl/third_party/dmlc-core/include;/home/pranjaln/python-modules/dgl/third_party/phmap;/home/pranjaln/python-modules/dgl/third_party/libxsmm/include;/home/pranjaln/python-modules/dgl/third_party/pcg/include
-- DGL link directories: /home/pranjaln/python-modules/dgl/include;/home/pranjaln/python-modules/dgl/third_party/dlpack/include;/home/pranjaln/python-modules/dgl/third_party/dmlc-core/include;/home/pranjaln/python-modules/dgl/third_party/phmap;/home/pranjaln/python-modules/dgl/tensoradapter/include;/home/pranjaln/python-modules/dgl/third_party/pcg/include;/home/pranjaln/python-modules/dgl/third_party/nanoflann/include;/home/pranjaln/python-modules/dgl/third_party/libxsmm/include;/home/pranjaln/python-modules/dgl/third_party/METIS/include;/home/pranjaln/python-modules/dgl/third_party/METIS/GKlib;/home/pranjaln/python-modules/dgl/third_party/METIS/include;/home/pranjaln/python-modules/dgl/third_party/googletest/googletest/include;/home/pranjaln/python-modules/dgl/third_party/googletest/googletest;/home/pranjaln/python-modules/dgl/include;/home/pranjaln/python-modules/dgl/third_party/dlpack/include;/home/pranjaln/python-modules/dgl/third_party/dmlc-core/include;/home/pranjaln/python-modules/dgl/third_party/phmap;/home/pranjaln/python-modules/dgl/third_party/libxsmm/include;/home/pranjaln/python-modules/dgl/third_party/pcg/include
-- Configuring graphbolt library
-- Configuring done (5.9s)
-- Generating done (0.1s)
-- Build files have been written to: /home/pranjaln/python-modules/dgl/build
[  1%] Building CXX object third_party/googletest/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o
[  2%] Building CXX object third_party/dmlc-core/CMakeFiles/dmlc.dir/src/config.cc.o
[  2%] Building CXX object third_party/dmlc-core/CMakeFiles/dmlc.dir/src/data.cc.o
[  3%] Building CXX object third_party/dmlc-core/CMakeFiles/dmlc.dir/src/io/line_split.cc.o
[  4%] Building CXX object third_party/dmlc-core/CMakeFiles/dmlc.dir/src/io/filesys.cc.o
[  4%] Building CXX object third_party/dmlc-core/CMakeFiles/dmlc.dir/src/recordio.cc.o
[  5%] Building CXX object third_party/dmlc-core/CMakeFiles/dmlc.dir/src/io/indexed_recordio_split.cc.o
[  5%] Building CXX object third_party/dmlc-core/CMakeFiles/dmlc.dir/src/io/recordio_split.cc.o
[  6%] Building CXX object third_party/dmlc-core/CMakeFiles/dmlc.dir/src/io.cc.o
[  7%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/b64.c.o
[  7%] Building CXX object third_party/dmlc-core/CMakeFiles/dmlc.dir/src/io/input_split_base.cc.o
[  7%] Building CXX object third_party/dmlc-core/CMakeFiles/dmlc.dir/src/io/local_filesys.cc.o
[  7%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/error.c.o
[  7%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/blas.c.o
[  7%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/fkvkselect.c.o
[  8%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/evaluate.c.o
[  8%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/mcore.c.o
[  8%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/io.c.o
-DCUDA_TOOLKIT_ROOT_DIR= -DUSE_CUDA=OFF
[  8%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/fs.c.o
[  8%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/gk_util.c.o
[ 10%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/gkregex.c.o
[ 10%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/htable.c.o
[ 11%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/csr.c.o
[ 12%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/itemsets.c.o
[ 12%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/graph.c.o
[ 13%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/getopt.c.o
[ 14%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/memory.c.o
[ 14%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/pqueue.c.o
[ 14%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/rw.c.o
[ 15%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/random.c.o
[ 17%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/sort.c.o
[ 17%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/string.c.o
[ 17%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/seq.c.o
[ 17%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/auxapi.c.o
[ 18%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/timers.c.o
[ 18%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/checkgraph.c.o
[ 18%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/tokenizer.c.o
[ 18%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/balance.c.o
[ 19%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/bucketsort.c.o
[ 20%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/contig.c.o
[ 20%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/compress.c.o
[ 20%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/graph.c.o
[ 21%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/fm.c.o
[ 21%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/debug.c.o
[ 21%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/fortran.c.o
[ 22%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/frename.c.o
[ 23%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/gklib.c.o
[ 23%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/initpart.c.o
[ 24%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/coarsen.c.o
[ 24%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/kmetis.c.o
[ 25%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/kwayfm.c.o
[ 25%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/kwayrefine.c.o
[ 26%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/mcutil.c.o
[ 27%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/meshpart.c.o
[ 28%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/ometis.c.o
[ 28%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/minconn.c.o
[ 29%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/mincover.c.o
[ 29%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/mesh.c.o
[ 29%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/mmd.c.o
[ 29%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/options.c.o
[ 29%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/parmetis.c.o
[ 30%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/pmetis.c.o
[ 30%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/sfm.c.o
[ 30%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/refine.c.o
[ 31%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/srefine.c.o
[ 32%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/separator.c.o
[ 33%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/timing.c.o
[ 33%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/stat.c.o
[ 33%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/util.c.o
[ 34%] Building C object third_party/METIS/libmetis/CMakeFiles/metis.dir/wspace.c.o
/home/pranjaln/python-modules/dgl/third_party/METIS/GKlib/graph.c: In function 'gk_graph_Read':
/home/pranjaln/python-modules/dgl/third_party/METIS/GKlib/graph.c:336:20: error: 'iadjwgt' may be used uninitialized [-Werror=maybe-uninitialized]
  336 |             iadjwgt[xadj[iinds[i]]] = ivals[i];
      |                    ^
/home/pranjaln/python-modules/dgl/third_party/METIS/GKlib/graph.c:93:66: note: 'iadjwgt' was declared here
   93 |   int32_t ival, *iinds=NULL, *jinds=NULL, *ivals=NULL, *adjncy, *iadjwgt;
      |                                                                  ^~~~~~~
/home/pranjaln/python-modules/dgl/third_party/METIS/GKlib/graph.c:334:20: error: 'fadjwgt' may be used uninitialized [-Werror=maybe-uninitialized]
  334 |             fadjwgt[xadj[iinds[i]]] = fvals[i];
      |                    ^
/home/pranjaln/python-modules/dgl/third_party/METIS/GKlib/graph.c:94:29: note: 'fadjwgt' was declared here
   94 |   float fval, *fvals=NULL, *fadjwgt;
      |                             ^~~~~~~
cc1: all warnings being treated as errors
make[2]: *** [third_party/METIS/libmetis/CMakeFiles/metis.dir/__/GKlib/graph.c.o] Error 1
make[2]: *** Waiting for unfinished jobs....
-- The C compiler identification is GNU 13.2.0
-- The C compiler identification is GNU 13.2.0
-- The CXX compiler identification is GNU 13.2.0
-- Detecting C compiler ABI info
-- The CXX compiler identification is GNU 13.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /data/pranjaln/anaconda3/envs/dgl-dev-cpu/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Check for working C compiler: /data/pranjaln/anaconda3/envs/dgl-dev-cpu/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /data/pranjaln/anaconda3/envs/dgl-dev-cpu/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using Python interpreter: python3
-- Check for working CXX compiler: /data/pranjaln/anaconda3/envs/dgl-dev-cpu/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using Python interpreter: python3
make[1]: *** [third_party/METIS/libmetis/CMakeFiles/metis.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
-- find_cmake.py output: /data/pranjaln/anaconda3/envs/dgl-dev-cpu/lib/python3.8/site-packages/torch/share/cmake;1.13.0
-- Configuring for PyTorch 1.13.0
-- Setting directory to /data/pranjaln/anaconda3/envs/dgl-dev-cpu/lib/python3.8/site-packages/torch/share/cmake/Torch
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- find_cmake.py output: /data/pranjaln/anaconda3/envs/dgl-dev-cpu/lib/python3.8/site-packages/torch/share/cmake;1.13.0
-- Configuring for PyTorch 1.13.0
-- Setting directory to /data/pranjaln/anaconda3/envs/dgl-dev-cpu/lib/python3.8/site-packages/torch/share/cmake/Torch
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
CMake Warning at /data/pranjaln/anaconda3/envs/dgl-dev-cpu/lib/python3.8/site-packages/torch/share/cmake/Torch/TorchConfig.cmake:22 (message):
  static library kineto_LIBRARY-NOTFOUND not found.
Call Stack (most recent call first):
  /data/pranjaln/anaconda3/envs/dgl-dev-cpu/lib/python3.8/site-packages/torch/share/cmake/Torch/TorchConfig.cmake:127 (append_torchlib_if_found)
  CMakeLists.txt:35 (find_package)


-- Found Torch: /data/pranjaln/anaconda3/envs/dgl-dev-cpu/lib/python3.8/site-packages/torch/lib/libtorch.so
-- Configuring done (1.9s)
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Generating done (0.0s)
CMake Warning:
  Manually-specified variables were not used by the project:

    CUDA_TOOLKIT_ROOT_DIR


-- Build files have been written to: /home/pranjaln/python-modules/dgl/graphbolt/build/1.13.0
[ 10%] Building CXX object CMakeFiles/graphbolt_pytorch_1.13.0.dir/src/csc_sampling_graph.cc.o
[ 20%] Building CXX object CMakeFiles/graphbolt_pytorch_1.13.0.dir/src/python_binding.cc.o
[ 40%] Building CXX object CMakeFiles/graphbolt_pytorch_1.13.0.dir/src/shared_memory.cc.o
[ 40%] Building CXX object CMakeFiles/graphbolt_pytorch_1.13.0.dir/src/concurrent_id_hash_map.cc.o
[ 50%] Building CXX object CMakeFiles/graphbolt_pytorch_1.13.0.dir/src/serialize.cc.o
[ 60%] Building CXX object CMakeFiles/graphbolt_pytorch_1.13.0.dir/src/shared_memory_helper.cc.o
[ 70%] Building CXX object CMakeFiles/graphbolt_pytorch_1.13.0.dir/src/unique_and_compact.cc.o
[ 90%] Building CXX object CMakeFiles/graphbolt_pytorch_1.13.0.dir/src/index_select.cc.o
[ 90%] Building CXX object CMakeFiles/graphbolt_pytorch_1.13.0.dir/src/isin.cc.o
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
CMake Warning at /data/pranjaln/anaconda3/envs/dgl-dev-cpu/lib/python3.8/site-packages/torch/share/cmake/Torch/TorchConfig.cmake:22 (message):
  static library kineto_LIBRARY-NOTFOUND not found.
Call Stack (most recent call first):
  /data/pranjaln/anaconda3/envs/dgl-dev-cpu/lib/python3.8/site-packages/torch/share/cmake/Torch/TorchConfig.cmake:127 (append_torchlib_if_found)
  CMakeLists.txt:26 (find_package)


-- Found Torch: /data/pranjaln/anaconda3/envs/dgl-dev-cpu/lib/python3.8/site-packages/torch/lib/libtorch.so
-- tensoradapter found PyTorch includes: /data/pranjaln/anaconda3/envs/dgl-dev-cpu/lib/python3.8/site-packages/torch/include;/data/pranjaln/anaconda3/envs/dgl-dev-cpu/lib/python3.8/site-packages/torch/include/torch/csrc/api/include
-- tensoradapter found PyTorch lib: torch
-- Configured target tensoradapter_pytorch_1.13.0
-- Configuring done (2.1s)
-- Generating done (0.0s)
CMake Warning:
  Manually-specified variables were not used by the project:

    CUDA_TOOLKIT_ROOT_DIR
    TORCH_CUDA_ARCH_LIST


-- Build files have been written to: /home/pranjaln/python-modules/dgl/tensoradapter/pytorch/build/1.13.0
[ 50%] Building CXX object CMakeFiles/tensoradapter_pytorch_1.13.0.dir/torch.cpp.o
[100%] Linking CXX shared library libtensoradapter_pytorch_1.13.0.so
[100%] Built target tensoradapter_pytorch_1.13.0
‘libtensoradapter_pytorch_1.13.0.so’ -> ‘/home/pranjaln/python-modules/dgl/build/tensoradapter/pytorch/libtensoradapter_pytorch_1.13.0.so’
[ 34%] Built target tensoradapter_pytorch
[ 34%] Linking CXX static library ../../../lib/libgtest.a
[ 34%] Built target gtest
[ 35%] Linking CXX static library libdmlc.a
[ 35%] Built target dmlc
[100%] Linking CXX shared library libgraphbolt_pytorch_1.13.0.so
[100%] Built target graphbolt_pytorch_1.13.0
‘libgraphbolt_pytorch_1.13.0.so’ -> ‘/home/pranjaln/python-modules/dgl/build/graphbolt/libgraphbolt_pytorch_1.13.0.so’
[ 35%] Built target graphbolt
make: *** [all] Error 2

rpc.cc:

The build error seems coming from third party, you can try:
git submodule update.

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.