StanfordLegion / legion

The Legion Parallel Programming System
https://legion.stanford.edu
Apache License 2.0
669 stars 146 forks source link

Realm: Unable to build UCX on Ubuntu 23.10 #1628

Open bryevdv opened 7 months ago

bryevdv commented 7 months ago

Attempting to build legate.core with --network ucx and get several errors like:

    In file included from /home/bryan/work/legate.core.internal/build/debug-gcc/_deps/legion-src/runtime/realm/ucx/mpool.cc:17:
    /home/bryan/work/legate.core.internal/build/debug-gcc/_deps/legion-src/runtime/realm/ucx/mpool.h:147:5: error: 'uintptr_t' does not name a type
      147 |     uintptr_t parent_obj;
          |     ^~~~~~~~~
    /home/bryan/work/legate.core.internal/build/debug-gcc/_deps/legion-src/runtime/realm/ucx/mpool.h:23:1: note: 'uintptr_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?

The following patch on control_replication on a separate legion checkout allows successful compilation with UCX:

diff --git a/runtime/realm/ucx/mpool.cc b/runtime/realm/ucx/mpool.cc
index 22e9e828b..c750cbde4 100644
--- a/runtime/realm/ucx/mpool.cc
+++ b/runtime/realm/ucx/mpool.cc
@@ -20,6 +20,7 @@

 #include <string>
 #include <cmath>
+#include <cstdint>

 namespace Realm {
   Logger log_ucp_mp("ucpmp");
diff --git a/runtime/realm/ucx/mpool.h b/runtime/realm/ucx/mpool.h
index 1bf7bae03..18c9c6435 100644
--- a/runtime/realm/ucx/mpool.h
+++ b/runtime/realm/ucx/mpool.h
@@ -19,6 +19,7 @@

 #include <string>
 #include <climits>
+#include <cstdint>
 #include <unordered_map>

 /* A chunk looks like this:

In case it is useful here is the conda environment:

``` # packages in environment at /home/bryan/anaconda3/envs/iotst: # # Name Version Build Channel _libgcc_mutex 0.1 conda_forge conda-forge _openmp_mutex 4.5 2_kmp_llvm conda-forge accessible-pygments 0.0.4 pyhd8ed1ab_0 conda-forge alabaster 0.7.16 pyhd8ed1ab_0 conda-forge aom 3.7.1 h59595ed_0 conda-forge asciitree 0.3.3 py_2 conda-forge asttokens 2.4.1 pyhd8ed1ab_0 conda-forge attrs 23.2.0 pyh71513ae_0 conda-forge babel 2.14.0 pyhd8ed1ab_0 conda-forge beautifulsoup4 4.12.3 pyha770c72_0 conda-forge binutils_impl_linux-64 2.40 hf600244_0 conda-forge bleach 6.1.0 pyhd8ed1ab_0 conda-forge blosc 1.21.5 h0f2a231_0 conda-forge brotli 1.1.0 hd590300_1 conda-forge brotli-bin 1.1.0 hd590300_1 conda-forge brotli-python 1.1.0 py310hc6cd4ac_1 conda-forge brunsli 0.1 h9c3ff4c_0 conda-forge bzip2 1.0.8 hd590300_5 conda-forge c-ares 1.25.0 hd590300_0 conda-forge c-blosc2 2.13.1 hb4ffafa_0 conda-forge ca-certificates 2023.11.17 hbcca054_0 conda-forge cached-property 1.5.2 hd8ed1ab_1 conda-forge cached_property 1.5.2 pyha770c72_1 conda-forge certifi 2023.11.17 pyhd8ed1ab_0 conda-forge cffi 1.16.0 py310h2fee648_0 conda-forge cfgv 3.3.1 pyhd8ed1ab_0 conda-forge charls 2.4.2 h59595ed_0 conda-forge charset-normalizer 3.3.2 pyhd8ed1ab_0 conda-forge clang 17.0.6 hda56bd4_2 conda-forge clang-17 17.0.6 default_hb11cfb5_2 conda-forge clang-format 17.0.6 default_hb11cfb5_2 conda-forge clang-format-17 17.0.6 default_hb11cfb5_2 conda-forge clang-tools 17.0.6 default_hb11cfb5_2 conda-forge cmake 3.28.1 hcfe8598_0 conda-forge colorama 0.4.6 pyhd8ed1ab_0 conda-forge coverage 7.4.0 py310h2372a71_0 conda-forge cuda-cccl 12.2.53 0 nvidia/label/cuda-12.2.0 cuda-cudart 12.2.53 0 nvidia/label/cuda-12.2.0 cuda-cudart-dev 12.2.53 0 nvidia/label/cuda-12.2.0 cuda-cudart-static 12.2.53 0 nvidia/label/cuda-12.2.0 cuda-driver-dev 12.2.53 0 nvidia/label/cuda-12.2.0 cuda-nvml-dev 12.2.81 0 nvidia/label/cuda-12.2.0 cuda-nvrtc 12.0.140 0 nvidia/label/cuda-12.0.1 cuda-nvrtc-dev 12.0.140 0 nvidia/label/cuda-12.0.1 cuda-nvtx 12.2.53 0 nvidia/label/cuda-12.2.0 cuda-version 12.2 he2b69de_2 conda-forge cunumeric 23.11.0.dev0+157.g5557be58 dev_0 cupy 12.3.0 py310hfc31588_2 conda-forge curl 8.5.0 hca28451_0 conda-forge cutensor 1.7.0.1 h10b603f_3 conda-forge cython 3.0.7 py310hc6cd4ac_0 conda-forge dav1d 1.2.1 hd590300_0 conda-forge decorator 5.1.1 pyhd8ed1ab_0 conda-forge defusedxml 0.7.1 pyhd8ed1ab_0 conda-forge distlib 0.3.8 pyhd8ed1ab_0 conda-forge distro 1.9.0 pyhd8ed1ab_0 conda-forge docutils 0.20.1 py310hff52083_3 conda-forge doxygen 1.10.0 h661eb56_0 conda-forge elfutils 0.190 h6f2b95c_0 conda-forge entrypoints 0.4 pyhd8ed1ab_0 conda-forge exceptiongroup 1.2.0 pyhd8ed1ab_2 conda-forge executing 2.0.1 pyhd8ed1ab_0 conda-forge fasteners 0.17.3 pyhd8ed1ab_0 conda-forge fastrlock 0.8.2 py310hc6cd4ac_2 conda-forge filelock 3.13.1 pyhd8ed1ab_0 conda-forge fsspec 2023.12.2 pyhca7485f_0 conda-forge gcc_impl_linux-64 13.2.0 h338b0a0_3 conda-forge gettext 0.21.1 h27087fc_0 conda-forge giflib 5.2.1 h0b41bf4_3 conda-forge git 2.43.0 pl5321h7bc287a_0 conda-forge gmp 6.3.0 h59595ed_0 conda-forge gnutls 3.7.9 hb077bed_0 conda-forge h5py 3.10.0 nompi_py310h65828d5_101 conda-forge hdf5 1.14.3 nompi_h4f84152_100 conda-forge highfive 2.9.0 h7ef1e6a_0 conda-forge icu 73.2 h59595ed_0 conda-forge identify 2.5.33 pyhd8ed1ab_0 conda-forge idna 3.6 pyhd8ed1ab_0 conda-forge imagecodecs 2024.1.1 py310h496a806_0 conda-forge imagesize 1.4.1 pyhd8ed1ab_0 conda-forge importlib-metadata 7.0.1 pyha770c72_0 conda-forge importlib_metadata 7.0.1 hd8ed1ab_0 conda-forge importlib_resources 6.1.1 pyhd8ed1ab_0 conda-forge iniconfig 2.0.0 pyhd8ed1ab_0 conda-forge ipython 8.20.0 pyh707e725_0 conda-forge jedi 0.19.1 pyhd8ed1ab_0 conda-forge jinja2 3.1.3 pyhd8ed1ab_0 conda-forge jsonschema 4.21.1 pyhd8ed1ab_0 conda-forge jsonschema-specifications 2023.12.1 pyhd8ed1ab_0 conda-forge jupyter_client 8.6.0 pyhd8ed1ab_0 conda-forge jupyter_core 5.7.1 py310hff52083_0 conda-forge jupyterlab_pygments 0.3.0 pyhd8ed1ab_0 conda-forge jxrlib 1.1 hd590300_3 conda-forge kerchunk 0.2.2 pyhd8ed1ab_0 conda-forge kernel-headers_linux-64 2.6.32 he073ed8_16 conda-forge keyutils 1.6.1 h166bdaf_0 conda-forge krb5 1.21.2 h659d440_0 conda-forge kvikio 23.12.00 cuda12_py310_231206_gf90bfbe_0 rapidsai lcms2 2.16 hb7c19ff_0 conda-forge ld_impl_linux-64 2.40 h41732ed_0 conda-forge legate-core 23.11.0.dev0+512.g1ec106c6.dirty dev_0 legate-io 0.1 dev_0 legion 0.1 pypi_0 pypi legion-jupyter 0.1 pypi_0 pypi lerc 4.0.0 h27087fc_0 conda-forge libaec 1.1.2 h59595ed_1 conda-forge libarchive 3.7.2 h2aa1ff5_1 conda-forge libavif16 1.0.3 hef5bec9_1 conda-forge libblas 3.9.0 16_linux64_openblas conda-forge libbrotlicommon 1.1.0 hd590300_1 conda-forge libbrotlidec 1.1.0 hd590300_1 conda-forge libbrotlienc 1.1.0 hd590300_1 conda-forge libcblas 3.9.0 16_linux64_openblas conda-forge libclang-cpp17 17.0.6 default_hb11cfb5_2 conda-forge libclang13 17.0.6 default_ha2b6cf4_2 conda-forge libcublas 12.2.1.16 0 nvidia/label/cuda-12.2.0 libcublas-dev 12.2.1.16 0 nvidia/label/cuda-12.2.0 libcufft 11.0.8.15 0 nvidia/label/cuda-12.2.0 libcufft-dev 11.0.8.15 0 nvidia/label/cuda-12.2.0 libcufile 1.5.1.14 0 nvidia/label/cuda-12.0.1 libcufile-dev 1.5.1.14 0 nvidia/label/cuda-12.0.1 libcurand 10.3.3.53 0 nvidia/label/cuda-12.2.0 libcurand-dev 10.3.3.53 0 nvidia/label/cuda-12.2.0 libcurl 8.5.0 hca28451_0 conda-forge libcusolver 11.5.0.53 0 nvidia/label/cuda-12.2.0 libcusolver-dev 11.5.0.53 0 nvidia/label/cuda-12.2.0 libcusparse 12.1.1.53 0 nvidia/label/cuda-12.2.0 libcusparse-dev 12.1.1.53 0 nvidia/label/cuda-12.2.0 libdeflate 1.19 hd590300_0 conda-forge libedit 3.1.20191231 he28a2e2_2 conda-forge libev 4.33 hd590300_2 conda-forge libevent 2.1.12 hf998b51_1 conda-forge libexpat 2.5.0 hcb278e6_1 conda-forge libffi 3.4.2 h7f98852_5 conda-forge libgcc-devel_linux-64 13.2.0 ha9c7c90_103 conda-forge libgcc-ng 13.2.0 h807b86a_3 conda-forge libgfortran-ng 13.2.0 h69a702a_3 conda-forge libgfortran5 13.2.0 ha4646dd_3 conda-forge libgomp 13.2.0 h807b86a_3 conda-forge libhwloc 2.9.3 default_h554bfaf_1009 conda-forge libiconv 1.17 hd590300_2 conda-forge libidn2 2.3.4 h166bdaf_0 conda-forge libjpeg-turbo 3.0.0 hd590300_1 conda-forge libkvikio 23.12.00 cuda12_231206_gf90bfbe_0 rapidsai liblapack 3.9.0 16_linux64_openblas conda-forge libllvm14 14.0.6 hcd5def8_4 conda-forge libllvm17 17.0.6 hb3ce162_1 conda-forge libmicrohttpd 0.9.77 h97afed2_0 conda-forge libnghttp2 1.58.0 h47da74e_1 conda-forge libnl 3.9.0 hd590300_0 conda-forge libnsl 2.0.1 hd590300_0 conda-forge libnuma 2.0.16 h0b41bf4_1 conda-forge libnvjitlink 12.2.91 0 nvidia/label/cuda-12.2.0 libnvjitlink-dev 12.2.91 0 nvidia/label/cuda-12.2.0 libopenblas 0.3.21 openmp_h74cd887_3 conda-forge libpng 1.6.39 h753d276_0 conda-forge libsanitizer 13.2.0 h7e041cc_3 conda-forge libsodium 1.0.18 h36c2ea0_1 conda-forge libsqlite 3.44.2 h2797004_0 conda-forge libssh2 1.11.0 h0841786_0 conda-forge libstdcxx-ng 13.2.0 h7e041cc_3 conda-forge libtasn1 4.19.0 h166bdaf_0 conda-forge libtiff 4.6.0 ha9c0a0a_2 conda-forge libunistring 0.9.10 h7f98852_0 conda-forge libuuid 2.38.1 h0b41bf4_0 conda-forge libuv 1.46.0 hd590300_0 conda-forge libwebp-base 1.3.2 hd590300_0 conda-forge libxcrypt 4.4.36 hd590300_1 conda-forge libxml2 2.12.4 h232c23b_1 conda-forge libzlib 1.2.13 hd590300_5 conda-forge libzopfli 1.0.3 h9c3ff4c_0 conda-forge llvm-openmp 17.0.6 h4dfa4b3_0 conda-forge llvmlite 0.41.1 py310h1b8f574_0 conda-forge lz4-c 1.9.4 hcb278e6_0 conda-forge lzo 2.10 h516909a_1000 conda-forge make 4.3 hd18ef5c_1 conda-forge markdown 3.3.7 pyhd8ed1ab_0 conda-forge markdown-it-py 3.0.0 pyhd8ed1ab_0 conda-forge markupsafe 2.1.4 py310h2372a71_0 conda-forge matplotlib-inline 0.1.6 pyhd8ed1ab_0 conda-forge mdit-py-plugins 0.4.0 pyhd8ed1ab_0 conda-forge mdurl 0.1.2 pyhd8ed1ab_0 conda-forge mistune 3.0.2 pyhd8ed1ab_0 conda-forge mock 5.1.0 pyhd8ed1ab_0 conda-forge mpi 1.0 openmpi conda-forge msgpack-python 1.0.7 py310hd41b1e2_0 conda-forge mypy 1.8.0 py310h2372a71_0 conda-forge mypy_extensions 1.0.0 pyha770c72_0 conda-forge myst-parser 2.0.0 pyhd8ed1ab_0 conda-forge nbclient 0.8.0 pyhd8ed1ab_0 conda-forge nbconvert 7.14.2 pyhd8ed1ab_0 conda-forge nbconvert-core 7.14.2 pyhd8ed1ab_0 conda-forge nbconvert-pandoc 7.14.2 pyhd8ed1ab_0 conda-forge nbformat 5.9.2 pyhd8ed1ab_0 conda-forge nbsphinx 0.9.3 pyhd8ed1ab_0 conda-forge nccl 2.19.4.1 h3a97aeb_0 conda-forge ncurses 6.4 h59595ed_2 conda-forge nettle 3.9.1 h7ab15ed_0 conda-forge ninja 1.11.1 h924138e_0 conda-forge nodeenv 1.8.0 pyhd8ed1ab_0 conda-forge numba 0.58.1 py310h7dc5dd1_0 conda-forge numcodecs 0.11.0 py310heca2aa9_1 conda-forge numpy 1.26.3 py310hb13e2d6_0 conda-forge nvcomp 3.0.5 h10b603f_0 conda-forge openblas 0.3.21 openmp_h53a8fd6_3 conda-forge openjpeg 2.5.0 h488ebb8_3 conda-forge openmpi 5.0.1 h4970cb7_101 conda-forge openssl 3.2.1 hd590300_0 conda-forge opt_einsum 3.3.0 pyhc1e730c_2 conda-forge p11-kit 0.24.1 hc5aa10d_0 conda-forge packaging 23.2 pyhd8ed1ab_0 conda-forge pandoc 3.1.3 h32600fe_0 conda-forge pandocfilters 1.5.0 pyhd8ed1ab_0 conda-forge parso 0.8.3 pyhd8ed1ab_0 conda-forge pcre2 10.42 hcad00b1_0 conda-forge perl 5.32.1 7_hd590300_perl5 conda-forge pexpect 4.9.0 pyhd8ed1ab_0 conda-forge pickleshare 0.7.5 py_1003 conda-forge pip 23.3.2 pyhd8ed1ab_0 conda-forge pkg-config 0.29.2 h36c2ea0_1008 conda-forge pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge platformdirs 4.1.0 pyhd8ed1ab_0 conda-forge pluggy 1.4.0 pyhd8ed1ab_0 conda-forge pre-commit 3.6.0 pyha770c72_0 conda-forge prompt-toolkit 3.0.42 pyha770c72_0 conda-forge psutil 5.9.8 py310h2372a71_0 conda-forge ptyprocess 0.7.0 pyhd3deb0d_0 conda-forge pure_eval 0.2.2 pyhd8ed1ab_0 conda-forge pycparser 2.21 pyhd8ed1ab_0 conda-forge pydata-sphinx-theme 0.15.2 pyhd8ed1ab_0 conda-forge pygments 2.17.2 pyhd8ed1ab_0 conda-forge pynvml 11.5.0 pyhd8ed1ab_0 conda-forge pysocks 1.7.1 pyha2e5f31_6 conda-forge pytest 7.4.4 pyhd8ed1ab_0 conda-forge pytest-cov 4.1.0 pyhd8ed1ab_0 conda-forge pytest-lazy-fixture 0.6.3 py_0 conda-forge pytest-mock 3.12.0 pyhd8ed1ab_0 conda-forge python 3.10.13 hd12c33a_1_cpython conda-forge python-dateutil 2.8.2 pyhd8ed1ab_0 conda-forge python-fastjsonschema 2.19.1 pyhd8ed1ab_0 conda-forge python_abi 3.10 4_cp310 conda-forge pytz 2023.3.post1 pyhd8ed1ab_0 conda-forge pyyaml 6.0.1 py310h2372a71_1 conda-forge pyzmq 25.1.2 py310h795f18f_0 conda-forge rav1e 0.6.6 he8a937b_2 conda-forge rdma-core 50.0 hd3aeb46_0 conda-forge readline 8.2 h8228510_1 conda-forge referencing 0.32.1 pyhd8ed1ab_0 conda-forge requests 2.31.0 pyhd8ed1ab_0 conda-forge rhash 1.4.4 hd590300_0 conda-forge rpds-py 0.17.1 py310hcb5633a_0 conda-forge rust 1.75.0 h70c747d_0 conda-forge rust-std-x86_64-unknown-linux-gnu 1.75.0 h2c6d0dc_0 conda-forge scikit-build 0.17.6 pyh4af843d_0 conda-forge scipy 1.12.0 py310hb13e2d6_2 conda-forge setuptools 69.0.3 pyhd8ed1ab_0 conda-forge six 1.16.0 pyh6c4a22f_0 conda-forge snappy 1.1.10 h9fff704_0 conda-forge snowballstemmer 2.2.0 pyhd8ed1ab_0 conda-forge soupsieve 2.5 pyhd8ed1ab_1 conda-forge sphinx 7.2.6 pyhd8ed1ab_0 conda-forge sphinx-copybutton 0.5.2 pyhd8ed1ab_0 conda-forge sphinxcontrib-applehelp 1.0.8 pyhd8ed1ab_0 conda-forge sphinxcontrib-devhelp 1.0.6 pyhd8ed1ab_0 conda-forge sphinxcontrib-htmlhelp 2.0.5 pyhd8ed1ab_0 conda-forge sphinxcontrib-jsmath 1.0.1 pyhd8ed1ab_0 conda-forge sphinxcontrib-qthelp 1.0.7 pyhd8ed1ab_0 conda-forge sphinxcontrib-serializinghtml 1.1.10 pyhd8ed1ab_0 conda-forge stack_data 0.6.2 pyhd8ed1ab_0 conda-forge svt-av1 1.8.0 h59595ed_0 conda-forge sysroot_linux-64 2.12 he073ed8_16 conda-forge tifffile 2023.12.9 pyhd8ed1ab_0 conda-forge tinycss2 1.2.1 pyhd8ed1ab_0 conda-forge tk 8.6.13 noxft_h4845f30_101 conda-forge toml 0.10.2 pyhd8ed1ab_0 conda-forge tomli 2.0.1 pyhd8ed1ab_0 conda-forge tornado 6.3.3 py310h2372a71_1 conda-forge traitlets 5.14.1 pyhd8ed1ab_0 conda-forge types-docutils 0.20.0.20240125 pyhd8ed1ab_0 conda-forge typing-extensions 4.9.0 hd8ed1ab_0 conda-forge typing_extensions 4.9.0 pyha770c72_0 conda-forge tzdata 2023d h0c530f3_0 conda-forge ucx 1.15.0 h6d2d1ec_3 conda-forge ujson 5.9.0 py310hc6cd4ac_0 conda-forge ukkonen 1.0.1 py310hd41b1e2_4 conda-forge urllib3 2.1.0 pyhd8ed1ab_0 conda-forge virtualenv 20.25.0 pyhd8ed1ab_0 conda-forge wcwidth 0.2.13 pyhd8ed1ab_0 conda-forge webencodings 0.5.1 pyhd8ed1ab_2 conda-forge wheel 0.42.0 pyhd8ed1ab_0 conda-forge xz 5.2.6 h166bdaf_0 conda-forge yaml 0.2.5 h7f98852_2 conda-forge zarr 2.16.1 pyhd8ed1ab_0 conda-forge zeromq 4.3.5 h59595ed_0 conda-forge zfp 1.0.1 h59595ed_0 conda-forge zipp 3.17.0 pyhd8ed1ab_0 conda-forge zlib 1.2.13 hd590300_5 conda-forge zlib-ng 2.0.7 h0b41bf4_0 conda-forge zstd 1.5.5 hfc55251_0 conda-forge ```
apryakhin commented 7 months ago

I pinged Hessam to take a look

bryevdv commented 7 months ago

@apryakhin FYI I did submit an MR already on GitLab (!1094)