Warning: Permanently added '98.82.188.167' (ED25519) to the list of known hosts. You can reproduce this build on your computer by running: sudo dnf install copr-rpmbuild /usr/bin/copr-rpmbuild --verbose --drop-resultdir --task-url https://copr.fedorainfracloud.org/backend/get-build-task/10353981-epel-10-aarch64 --chroot epel-10-aarch64 Version: 1.8 PID: 12404 Logging PID: 12406 Task: {'allow_user_ssh': False, 'appstream': False, 'background': False, 'build_id': 10353981, 'buildroot_pkgs': [], 'chroot': 'epel-10-aarch64', 'enable_net': True, 'fedora_review': False, 'git_hash': '3862b0ad0d2b1b2dff5f991ed2a297d233d9138d', 'git_repo': 'https://copr-dist-git.fedorainfracloud.org/git/rezso/ML/gloo', 'isolation': 'default', 'memory_reqs': 2048, 'package_name': 'gloo', 'package_version': '1:0.5.0-20260421.0.git70dc3602.cu13_2', 'project_dirname': 'ML', 'project_name': 'ML', 'project_owner': 'rezso', 'repo_priority': None, 'repos': [{'baseurl': 'https://download.copr.fedorainfracloud.org/results/rezso/ML/epel-10-aarch64/', 'id': 'copr_base', 'name': 'Copr repository', 'priority': None}, {'baseurl': 'https://download.copr.fedorainfracloud.org/results/rezso/CUDA/epel-10-aarch64/', 'id': 'copr_rezso_CUDA', 'name': 'Additional repo copr_rezso_CUDA'}, {'baseurl': 'https://developer.download.nvidia.com/compute/cuda/repos/rhel10/x86_64', 'id': 'https_developer_download_nvidia_com_compute_cuda_repos_rhel10_x86_64', 'name': 'Additional repo https_developer_download_nvidia_com_compute_cuda_repos_rhel10_x86_64'}, {'baseurl': 'https://developer.download.nvidia.com/compute/cuda/repos/rhel10/sbsa', 'id': 'https_developer_download_nvidia_com_compute_cuda_repos_rhel10_sbsa', 'name': 'Additional repo https_developer_download_nvidia_com_compute_cuda_repos_rhel10_sbsa'}], 'sandbox': 'rezso/ML--rezso', 'source_json': {}, 'source_type': None, 'ssh_public_keys': None, 'storage': 0, 'submitter': 'rezso', 'tags': [], 'task_id': '10353981-epel-10-aarch64', 'timeout': 172800, 'uses_devel_repo': False, 'with_opts': [], 'without_opts': []} Running: git clone https://copr-dist-git.fedorainfracloud.org/git/rezso/ML/gloo /var/lib/copr-rpmbuild/workspace/workdir-writfh0b/gloo --depth 500 --no-single-branch --recursive cmd: ['git', 'clone', 'https://copr-dist-git.fedorainfracloud.org/git/rezso/ML/gloo', '/var/lib/copr-rpmbuild/workspace/workdir-writfh0b/gloo', '--depth', '500', '--no-single-branch', '--recursive'] cwd: . rc: 0 stdout: stderr: Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-writfh0b/gloo'... Running: git checkout 3862b0ad0d2b1b2dff5f991ed2a297d233d9138d -- cmd: ['git', 'checkout', '3862b0ad0d2b1b2dff5f991ed2a297d233d9138d', '--'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-writfh0b/gloo rc: 0 stdout: stderr: Note: switching to '3862b0ad0d2b1b2dff5f991ed2a297d233d9138d'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 3862b0a automatic import of gloo Running: dist-git-client sources cmd: ['dist-git-client', 'sources'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-writfh0b/gloo rc: 0 stdout: stderr: INFO: Reading stdout from command: git rev-parse --abbrev-ref HEAD INFO: Reading stdout from command: git rev-parse HEAD INFO: Reading sources specification file: sources tail: /var/lib/copr-rpmbuild/main.log: file truncated Running (timeout=172800): unbuffer mock --spec /var/lib/copr-rpmbuild/workspace/workdir-writfh0b/gloo/gloo.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-writfh0b/gloo --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1776824127.065540 -r /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: mock.py version 6.7 starting (python version = 3.14.2, NVR = mock-6.7-1.fc43), args: /usr/libexec/mock/mock --spec /var/lib/copr-rpmbuild/workspace/workdir-writfh0b/gloo/gloo.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-writfh0b/gloo --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1776824127.065540 -r /var/lib/copr-rpmbuild/results/configs/child.cfg Start(bootstrap): init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish(bootstrap): init plugins Start: init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish: init plugins INFO: Signal handler active Start: run INFO: Start(/var/lib/copr-rpmbuild/workspace/workdir-writfh0b/gloo/gloo.spec) Config(centos-stream+epel-10-aarch64) Start: clean chroot Finish: clean chroot Mock Version: 6.7 INFO: Mock Version: 6.7 Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/centos-stream+epel-10-aarch64-bootstrap-1776824127.065540/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata INFO: Guessed host environment type: unknown INFO: Using container image: quay.io/centos/centos:stream10 INFO: Pulling image: quay.io/centos/centos:stream10 INFO: Tagging container image as mock-bootstrap-ffd67ecc-88f6-4c2c-b5d7-02894e9e895a INFO: Checking that be459c007d545c8d26f75a8702ca0d7f782c35c1edff1ad9cb9703ae3ac74d91 image matches host's architecture INFO: Copy content of container be459c007d545c8d26f75a8702ca0d7f782c35c1edff1ad9cb9703ae3ac74d91 to /var/lib/mock/centos-stream+epel-10-aarch64-bootstrap-1776824127.065540/root INFO: mounting be459c007d545c8d26f75a8702ca0d7f782c35c1edff1ad9cb9703ae3ac74d91 with podman image mount INFO: image be459c007d545c8d26f75a8702ca0d7f782c35c1edff1ad9cb9703ae3ac74d91 as /var/lib/containers/storage/overlay/280dad0affcd4a39f91ff149375fd690f02d2f571d9f327f0da4ea8fe55c46bb/merged INFO: umounting image be459c007d545c8d26f75a8702ca0d7f782c35c1edff1ad9cb9703ae3ac74d91 (/var/lib/containers/storage/overlay/280dad0affcd4a39f91ff149375fd690f02d2f571d9f327f0da4ea8fe55c46bb/merged) with podman image umount INFO: Removing image mock-bootstrap-ffd67ecc-88f6-4c2c-b5d7-02894e9e895a INFO: Package manager dnf4 detected and used (fallback) INFO: Not updating bootstrap chroot, bootstrap_image_ready=True Start(bootstrap): creating root cache Finish(bootstrap): creating root cache Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/centos-stream+epel-10-aarch64-1776824127.065540/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Package manager dnf4 detected and used (direct choice) INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-4.19.1.1-23.el10.aarch64 rpm-sequoia-1.10.1.1-2.el10.aarch64 python3-dnf-4.20.0-23.el10.noarch python3-dnf-plugins-core-4.7.0-10.el10.noarch yum-4.20.0-23.el10.noarch Start: installing minimal buildroot with dnf No matches found for the following disable plugin patterns: local, spacewalk, versionlock Copr repository 316 kB/s | 67 kB 00:00 Additional repo copr_rezso_CUDA 45 kB/s | 8.7 kB 00:00 Additional repo https_developer_download_nvidia 1.4 MB/s | 214 kB 00:00 Additional repo https_developer_download_nvidia 1.3 MB/s | 211 kB 00:00 CentOS Stream 10 - BaseOS 1.0 MB/s | 9.4 MB 00:09 CentOS Stream 10 - AppStream 991 kB/s | 3.5 MB 00:03 CentOS Stream 10 - CRB 736 kB/s | 816 kB 00:01 CentOS Stream 10 - Extras packages 101 kB/s | 10 kB 00:00 Extra Packages for Enterprise Linux 10 - aarch6 13 MB/s | 6.5 MB 00:00 Dependencies resolved. ================================================================================ Package Arch Version Repo Size ================================================================================ Installing: bash aarch64 5.2.26-6.el10 baseos 1.8 M bzip2 aarch64 1.0.8-25.el10 baseos 54 k centos-stream-release noarch 10.0-21.el10 baseos 30 k coreutils aarch64 9.5-7.el10 baseos 1.1 M cpio aarch64 2.15-3.el10 baseos 290 k diffutils aarch64 3.10-8.el10 baseos 405 k epel-rpm-macros noarch 10-7.el10_3 epel 8.4 k findutils aarch64 1:4.10.0-5.el10 baseos 555 k gawk aarch64 5.3.0-6.el10 baseos 1.1 M glibc-minimal-langpack aarch64 2.39-117.el10 baseos 28 k grep aarch64 3.11-10.el10 baseos 298 k gzip aarch64 1.13-3.el10 baseos 168 k info aarch64 7.1-6.el10 baseos 182 k patch aarch64 2.7.6-26.el10 appstream 130 k redhat-rpm-config noarch 295-1.el10 appstream 74 k rpm-build aarch64 4.19.1.1-23.el10 appstream 75 k sed aarch64 4.9-5.el10 baseos 315 k shadow-utils aarch64 2:4.15.0-11.el10 baseos 1.3 M tar aarch64 2:1.35-11.el10 baseos 857 k unzip aarch64 6.0-69.el10 baseos 186 k util-linux aarch64 2.40.2-19.el10 baseos 1.2 M which aarch64 2.21-44.el10 baseos 42 k xz aarch64 1:5.6.2-4.el10 baseos 481 k Installing dependencies: R-srpm-macros noarch 1.3.7-1.el10_3 epel 11 k alternatives aarch64 1.30-2.el10 baseos 41 k ansible-srpm-macros noarch 1-21.el10_3 epel 20 k audit-libs aarch64 4.0.3-5.el10 baseos 129 k authselect aarch64 1.5.2-1.el10 baseos 210 k authselect-libs aarch64 1.5.2-1.el10 baseos 252 k basesystem noarch 11-22.el10 baseos 4.3 k binutils aarch64 2.41-65.el10 baseos 6.7 M binutils-gold aarch64 2.41-65.el10 baseos 936 k bzip2-libs aarch64 1.0.8-25.el10 baseos 42 k ca-certificates noarch 2025.2.80_v9.0.305-102.el10 baseos 1.1 M centos-gpg-keys noarch 10.0-21.el10 baseos 26 k centos-stream-repos noarch 10.0-21.el10 baseos 12 k coreutils-common aarch64 9.5-7.el10 baseos 2.1 M cracklib aarch64 2.9.11-8.el10 baseos 96 k cracklib-dicts aarch64 2.9.11-8.el10 baseos 3.6 M crypto-policies noarch 20260216-1.git0e54016.el10 baseos 98 k curl aarch64 8.12.1-5.el10 baseos 214 k cyrus-sasl-lib aarch64 2.1.28-27.el10 baseos 107 k debugedit aarch64 5.1-8.el10 appstream 80 k dwz aarch64 0.16-1.el10 appstream 137 k ed aarch64 1.20-5.el10 baseos 82 k efi-srpm-macros noarch 6-8.el10 appstream 23 k elfutils aarch64 0.194-2.el10 baseos 539 k elfutils-debuginfod-client aarch64 0.194-2.el10 baseos 42 k elfutils-default-yama-scope noarch 0.194-2.el10 baseos 8.3 k elfutils-libelf aarch64 0.194-2.el10 baseos 199 k elfutils-libs aarch64 0.194-2.el10 baseos 263 k file aarch64 5.45-9.el10 baseos 48 k file-libs aarch64 5.45-9.el10 baseos 761 k filesystem aarch64 3.18-17.el10 baseos 4.8 M fonts-srpm-macros noarch 1:2.0.5-18.el10 appstream 27 k forge-srpm-macros noarch 0.4.0-6.el10 appstream 21 k fpc-srpm-macros noarch 1.3-7.el10_1 epel 7.8 k gdb-minimal aarch64 16.3-3.el10 appstream 4.1 M gdbm aarch64 1:1.23-14.el10 baseos 150 k gdbm-libs aarch64 1:1.23-14.el10 baseos 56 k ghc-srpm-macros noarch 1.9.2-1.el10_0 epel 9.1 k glibc aarch64 2.39-117.el10 baseos 1.8 M glibc-common aarch64 2.39-117.el10 baseos 310 k glibc-gconv-extra aarch64 2.39-117.el10 baseos 1.7 M gmp aarch64 1:6.2.1-12.el10 baseos 268 k go-srpm-macros noarch 3.8.0-1.el10 appstream 27 k jansson aarch64 2.14-3.el10 baseos 47 k json-c aarch64 0.18-3.el10 baseos 46 k kernel-srpm-macros noarch 1.0-27.el10 appstream 8.7 k keyutils-libs aarch64 1.6.3-5.el10 baseos 33 k krb5-libs aarch64 1.21.3-9.el10 baseos 769 k libacl aarch64 2.3.2-4.el10 baseos 26 k libarchive aarch64 3.7.7-8.el10 baseos 406 k libattr aarch64 2.5.2-5.el10 baseos 19 k libblkid aarch64 2.40.2-19.el10 baseos 123 k libbrotli aarch64 1.1.0-7.el10 baseos 344 k libcap aarch64 2.69-7.el10 baseos 91 k libcap-ng aarch64 0.8.4-6.el10 baseos 33 k libcbor aarch64 0.11.0-3.el10 baseos 34 k libcom_err aarch64 1.47.1-5.el10 baseos 26 k libcurl aarch64 8.12.1-5.el10 baseos 361 k libeconf aarch64 0.6.2-4.el10 baseos 33 k libevent aarch64 2.1.12-16.el10 baseos 256 k libfdisk aarch64 2.40.2-19.el10 baseos 156 k libffi aarch64 3.4.4-10.el10 baseos 38 k libfido2 aarch64 1.14.0-7.el10 baseos 97 k libgcc aarch64 14.3.1-4.4.el10 baseos 123 k libgomp aarch64 14.3.1-4.4.el10 baseos 354 k libidn2 aarch64 2.3.7-3.el10 baseos 119 k libmount aarch64 2.40.2-19.el10 baseos 152 k libnghttp2 aarch64 1.68.0-4.el10 baseos 71 k libpkgconf aarch64 2.1.0-3.el10 baseos 39 k libpsl aarch64 0.21.5-6.el10 baseos 65 k libpwquality aarch64 1.4.5-12.el10 baseos 123 k libselinux aarch64 3.10-1.el10 baseos 96 k libsemanage aarch64 3.10-1.el10 baseos 119 k libsepol aarch64 3.10-1.el10 baseos 332 k libsmartcols aarch64 2.40.2-19.el10 baseos 81 k libssh aarch64 0.12.0-2.el10 baseos 273 k libssh-config noarch 0.12.0-2.el10 baseos 8.2 k libstdc++ aarch64 14.3.1-4.4.el10 baseos 865 k libtasn1 aarch64 4.20.0-1.el10 baseos 74 k libunistring aarch64 1.1-10.el10 baseos 540 k libutempter aarch64 1.2.1-15.el10 baseos 28 k libuuid aarch64 2.40.2-19.el10 baseos 28 k libverto aarch64 0.3.2-10.el10 baseos 22 k libxcrypt aarch64 4.4.36-10.el10 baseos 124 k libxml2 aarch64 2.12.5-10.el10 baseos 672 k libzstd aarch64 1.5.5-9.el10 baseos 285 k lua-libs aarch64 5.4.8-1.el10 baseos 128 k lua-srpm-macros noarch 1-15.el10 appstream 9.8 k lz4-libs aarch64 1.9.4-8.el10 baseos 68 k mpfr aarch64 4.2.1-8.el10 baseos 324 k ncurses-base noarch 6.4-15.20240127.el10 baseos 98 k ncurses-libs aarch64 6.4-15.20240127.el10 baseos 325 k ocaml-srpm-macros noarch 10-4.el10 appstream 10 k openblas-srpm-macros noarch 2-19.el10 appstream 8.7 k openldap aarch64 2.6.10-1.el10 baseos 235 k openssl-fips-provider aarch64 1:3.5.5-2.el10 baseos 717 k openssl-libs aarch64 1:3.5.5-2.el10 baseos 2.1 M p11-kit aarch64 0.26.2-1.el10 baseos 532 k p11-kit-trust aarch64 0.26.2-1.el10 baseos 141 k package-notes-srpm-macros noarch 0.5-13.el10 appstream 10 k pam aarch64 1.6.1-10.el10 baseos 590 k pam-libs aarch64 1.6.1-10.el10 baseos 55 k pcre2 aarch64 10.44-1.el10.3 baseos 227 k pcre2-syntax noarch 10.44-1.el10.3 baseos 151 k perl-srpm-macros noarch 1-57.el10 appstream 9.5 k pkgconf aarch64 2.1.0-3.el10 baseos 44 k pkgconf-m4 noarch 2.1.0-3.el10 baseos 15 k pkgconf-pkg-config aarch64 2.1.0-3.el10 baseos 11 k popt aarch64 1.19-8.el10 baseos 65 k publicsuffix-list-dafsa noarch 20240107-5.el10 baseos 59 k pyproject-srpm-macros noarch 1.18.5-1.el10 appstream 13 k python-srpm-macros noarch 3.12-11.el10 appstream 22 k qt6-srpm-macros noarch 6.10.1-1.el10 appstream 9.1 k readline aarch64 8.2-11.el10 baseos 212 k rpm aarch64 4.19.1.1-23.el10 baseos 561 k rpm-build-libs aarch64 4.19.1.1-23.el10 baseos 87 k rpm-libs aarch64 4.19.1.1-23.el10 baseos 299 k rpm-sequoia aarch64 1.10.1.1-2.el10 baseos 897 k rust-toolset-srpm-macros noarch 1.94.1-1.el10 appstream 10 k setup noarch 2.14.5-7.el10 baseos 153 k sqlite-libs aarch64 3.46.1-5.el10 baseos 730 k systemd-libs aarch64 257-24.el10 baseos 802 k util-linux-core aarch64 2.40.2-19.el10 baseos 542 k xz-libs aarch64 1:5.6.2-4.el10 baseos 110 k zip aarch64 3.0-45.el10 baseos 264 k zlib-ng-compat aarch64 2.2.3-3.el10 baseos 63 k zstd aarch64 1.5.5-9.el10 baseos 455 k Transaction Summary ================================================================================ Install 150 Packages Total download size: 60 M Installed size: 216 M Downloading Packages: (1/150): audit-libs-4.0.3-5.el10.aarch64.rpm 1.6 MB/s | 129 kB 00:00 (2/150): authselect-1.5.2-1.el10.aarch64.rpm 2.0 MB/s | 210 kB 00:00 (3/150): alternatives-1.30-2.el10.aarch64.rpm 178 kB/s | 41 kB 00:00 (4/150): authselect-libs-1.5.2-1.el10.aarch64.r 1.6 MB/s | 252 kB 00:00 (5/150): basesystem-11-22.el10.noarch.rpm 31 kB/s | 4.3 kB 00:00 (6/150): binutils-gold-2.41-65.el10.aarch64.rpm 11 MB/s | 936 kB 00:00 (7/150): bash-5.2.26-6.el10.aarch64.rpm 19 MB/s | 1.8 MB 00:00 (8/150): binutils-2.41-65.el10.aarch64.rpm 47 MB/s | 6.7 MB 00:00 (9/150): bzip2-1.0.8-25.el10.aarch64.rpm 997 kB/s | 54 kB 00:00 (10/150): ca-certificates-2025.2.80_v9.0.305-10 15 MB/s | 1.1 MB 00:00 (11/150): centos-stream-release-10.0-21.el10.no 725 kB/s | 30 kB 00:00 (12/150): centos-stream-repos-10.0-21.el10.noar 277 kB/s | 12 kB 00:00 (13/150): coreutils-9.5-7.el10.aarch64.rpm 17 MB/s | 1.1 MB 00:00 (14/150): centos-gpg-keys-10.0-21.el10.noarch.r 103 kB/s | 26 kB 00:00 (15/150): coreutils-common-9.5-7.el10.aarch64.r 24 MB/s | 2.1 MB 00:00 (16/150): cpio-2.15-3.el10.aarch64.rpm 2.3 MB/s | 290 kB 00:00 (17/150): bzip2-libs-1.0.8-25.el10.aarch64.rpm 96 kB/s | 42 kB 00:00 (18/150): cracklib-dicts-2.9.11-8.el10.aarch64. 53 MB/s | 3.6 MB 00:00 (19/150): curl-8.12.1-5.el10.aarch64.rpm 5.4 MB/s | 214 kB 00:00 (20/150): cyrus-sasl-lib-2.1.28-27.el10.aarch64 2.4 MB/s | 107 kB 00:00 (21/150): crypto-policies-20260216-1.git0e54016 635 kB/s | 98 kB 00:00 (22/150): diffutils-3.10-8.el10.aarch64.rpm 8.9 MB/s | 405 kB 00:00 (23/150): ed-1.20-5.el10.aarch64.rpm 2.5 MB/s | 82 kB 00:00 (24/150): elfutils-0.194-2.el10.aarch64.rpm 14 MB/s | 539 kB 00:00 (25/150): cracklib-2.9.11-8.el10.aarch64.rpm 296 kB/s | 96 kB 00:00 (26/150): elfutils-libelf-0.194-2.el10.aarch64. 4.8 MB/s | 199 kB 00:00 (27/150): elfutils-libs-0.194-2.el10.aarch64.rp 6.4 MB/s | 263 kB 00:00 (28/150): file-5.45-9.el10.aarch64.rpm 1.4 MB/s | 48 kB 00:00 (29/150): file-libs-5.45-9.el10.aarch64.rpm 17 MB/s | 761 kB 00:00 (30/150): elfutils-default-yama-scope-0.194-2.e 45 kB/s | 8.3 kB 00:00 (31/150): filesystem-3.18-17.el10.aarch64.rpm 42 MB/s | 4.8 MB 00:00 (32/150): elfutils-debuginfod-client-0.194-2.el 118 kB/s | 42 kB 00:00 (33/150): gawk-5.3.0-6.el10.aarch64.rpm 14 MB/s | 1.1 MB 00:00 (34/150): gdbm-1.23-14.el10.aarch64.rpm 2.9 MB/s | 150 kB 00:00 (35/150): glibc-2.39-117.el10.aarch64.rpm 25 MB/s | 1.8 MB 00:00 (36/150): glibc-common-2.39-117.el10.aarch64.rp 6.0 MB/s | 310 kB 00:00 (37/150): findutils-4.10.0-5.el10.aarch64.rpm 1.2 MB/s | 555 kB 00:00 (38/150): gdbm-libs-1.23-14.el10.aarch64.rpm 190 kB/s | 56 kB 00:00 (39/150): glibc-minimal-langpack-2.39-117.el10. 824 kB/s | 28 kB 00:00 (40/150): gmp-6.2.1-12.el10.aarch64.rpm 6.4 MB/s | 268 kB 00:00 (41/150): grep-3.11-10.el10.aarch64.rpm 7.4 MB/s | 298 kB 00:00 (42/150): gzip-1.13-3.el10.aarch64.rpm 2.9 MB/s | 168 kB 00:00 (43/150): info-7.1-6.el10.aarch64.rpm 3.3 MB/s | 182 kB 00:00 (44/150): jansson-2.14-3.el10.aarch64.rpm 1.0 MB/s | 47 kB 00:00 (45/150): json-c-0.18-3.el10.aarch64.rpm 1.0 MB/s | 46 kB 00:00 (46/150): keyutils-libs-1.6.3-5.el10.aarch64.rp 686 kB/s | 33 kB 00:00 (47/150): krb5-libs-1.21.3-9.el10.aarch64.rpm 17 MB/s | 769 kB 00:00 (48/150): libarchive-3.7.7-8.el10.aarch64.rpm 7.6 MB/s | 406 kB 00:00 (49/150): libacl-2.3.2-4.el10.aarch64.rpm 113 kB/s | 26 kB 00:00 (50/150): glibc-gconv-extra-2.39-117.el10.aarch 2.4 MB/s | 1.7 MB 00:00 (51/150): libattr-2.5.2-5.el10.aarch64.rpm 60 kB/s | 19 kB 00:00 (52/150): libcap-2.69-7.el10.aarch64.rpm 2.3 MB/s | 91 kB 00:00 (53/150): libbrotli-1.1.0-7.el10.aarch64.rpm 4.8 MB/s | 344 kB 00:00 (54/150): libcbor-0.11.0-3.el10.aarch64.rpm 734 kB/s | 34 kB 00:00 (55/150): libcap-ng-0.8.4-6.el10.aarch64.rpm 141 kB/s | 33 kB 00:00 (56/150): libcurl-8.12.1-5.el10.aarch64.rpm 7.8 MB/s | 361 kB 00:00 (57/150): libcom_err-1.47.1-5.el10.aarch64.rpm 89 kB/s | 26 kB 00:00 (58/150): libeconf-0.6.2-4.el10.aarch64.rpm 338 kB/s | 33 kB 00:00 (59/150): libblkid-2.40.2-19.el10.aarch64.rpm 204 kB/s | 123 kB 00:00 (60/150): libevent-2.1.12-16.el10.aarch64.rpm 2.7 MB/s | 256 kB 00:00 (61/150): libffi-3.4.4-10.el10.aarch64.rpm 582 kB/s | 38 kB 00:00 (62/150): libfido2-1.14.0-7.el10.aarch64.rpm 1.2 MB/s | 97 kB 00:00 (63/150): libgomp-14.3.1-4.4.el10.aarch64.rpm 5.4 MB/s | 354 kB 00:00 (64/150): libfdisk-2.40.2-19.el10.aarch64.rpm 559 kB/s | 156 kB 00:00 (65/150): libmount-2.40.2-19.el10.aarch64.rpm 401 kB/s | 152 kB 00:00 (66/150): libgcc-14.3.1-4.4.el10.aarch64.rpm 205 kB/s | 123 kB 00:00 (67/150): libidn2-2.3.7-3.el10.aarch64.rpm 237 kB/s | 119 kB 00:00 (68/150): libpkgconf-2.1.0-3.el10.aarch64.rpm 1.1 MB/s | 39 kB 00:00 (69/150): libpsl-0.21.5-6.el10.aarch64.rpm 1.4 MB/s | 65 kB 00:00 (70/150): libselinux-3.10-1.el10.aarch64.rpm 2.8 MB/s | 96 kB 00:00 (71/150): libsemanage-3.10-1.el10.aarch64.rpm 801 kB/s | 119 kB 00:00 (72/150): libpwquality-1.4.5-12.el10.aarch64.rp 405 kB/s | 123 kB 00:00 (73/150): libsmartcols-2.40.2-19.el10.aarch64.r 1.9 MB/s | 81 kB 00:00 (74/150): libnghttp2-1.68.0-4.el10.aarch64.rpm 163 kB/s | 71 kB 00:00 (75/150): libssh-config-0.12.0-2.el10.noarch.rp 237 kB/s | 8.2 kB 00:00 (76/150): libssh-0.12.0-2.el10.aarch64.rpm 4.7 MB/s | 273 kB 00:00 (77/150): libstdc++-14.3.1-4.4.el10.aarch64.rpm 24 MB/s | 865 kB 00:00 (78/150): libsepol-3.10-1.el10.aarch64.rpm 1.1 MB/s | 332 kB 00:00 (79/150): libutempter-1.2.1-15.el10.aarch64.rpm 717 kB/s | 28 kB 00:00 (80/150): libuuid-2.40.2-19.el10.aarch64.rpm 764 kB/s | 28 kB 00:00 (81/150): libtasn1-4.20.0-1.el10.aarch64.rpm 197 kB/s | 74 kB 00:00 (82/150): libunistring-1.1-10.el10.aarch64.rpm 1.5 MB/s | 540 kB 00:00 (83/150): libxcrypt-4.4.36-10.el10.aarch64.rpm 2.1 MB/s | 124 kB 00:00 (84/150): libxml2-2.12.5-10.el10.aarch64.rpm 14 MB/s | 672 kB 00:00 (85/150): libverto-0.3.2-10.el10.aarch64.rpm 77 kB/s | 22 kB 00:00 (86/150): libzstd-1.5.5-9.el10.aarch64.rpm 5.4 MB/s | 285 kB 00:00 (87/150): lua-libs-5.4.8-1.el10.aarch64.rpm 731 kB/s | 128 kB 00:00 (88/150): lz4-libs-1.9.4-8.el10.aarch64.rpm 134 kB/s | 68 kB 00:00 (89/150): mpfr-4.2.1-8.el10.aarch64.rpm 704 kB/s | 324 kB 00:00 (90/150): ncurses-base-6.4-15.20240127.el10.noa 262 kB/s | 98 kB 00:00 (91/150): ncurses-libs-6.4-15.20240127.el10.aar 7.7 MB/s | 325 kB 00:00 (92/150): openldap-2.6.10-1.el10.aarch64.rpm 3.8 MB/s | 235 kB 00:00 (93/150): openssl-fips-provider-3.5.5-2.el10.aa 11 MB/s | 717 kB 00:00 (94/150): openssl-libs-3.5.5-2.el10.aarch64.rpm 8.2 MB/s | 2.1 MB 00:00 (95/150): pam-1.6.1-10.el10.aarch64.rpm 7.9 MB/s | 590 kB 00:00 (96/150): pam-libs-1.6.1-10.el10.aarch64.rpm 1.1 MB/s | 55 kB 00:00 (97/150): pcre2-10.44-1.el10.3.aarch64.rpm 4.1 MB/s | 227 kB 00:00 (98/150): pcre2-syntax-10.44-1.el10.3.noarch.rp 3.2 MB/s | 151 kB 00:00 (99/150): p11-kit-0.26.2-1.el10.aarch64.rpm 1.1 MB/s | 532 kB 00:00 (100/150): p11-kit-trust-0.26.2-1.el10.aarch64. 304 kB/s | 141 kB 00:00 (101/150): pkgconf-2.1.0-3.el10.aarch64.rpm 931 kB/s | 44 kB 00:00 (102/150): pkgconf-m4-2.1.0-3.el10.noarch.rpm 241 kB/s | 15 kB 00:00 (103/150): pkgconf-pkg-config-2.1.0-3.el10.aarc 183 kB/s | 11 kB 00:00 (104/150): popt-1.19-8.el10.aarch64.rpm 1.1 MB/s | 65 kB 00:00 (105/150): publicsuffix-list-dafsa-20240107-5.e 1.1 MB/s | 59 kB 00:00 (106/150): readline-8.2-11.el10.aarch64.rpm 4.7 MB/s | 212 kB 00:00 (107/150): rpm-build-libs-4.19.1.1-23.el10.aarc 2.3 MB/s | 87 kB 00:00 (108/150): rpm-libs-4.19.1.1-23.el10.aarch64.rp 7.1 MB/s | 299 kB 00:00 (109/150): rpm-sequoia-1.10.1.1-2.el10.aarch64. 19 MB/s | 897 kB 00:00 (110/150): sed-4.9-5.el10.aarch64.rpm 5.5 MB/s | 315 kB 00:00 (111/150): shadow-utils-4.15.0-11.el10.aarch64. 32 MB/s | 1.3 MB 00:00 (112/150): rpm-4.19.1.1-23.el10.aarch64.rpm 2.9 MB/s | 561 kB 00:00 (113/150): systemd-libs-257-24.el10.aarch64.rpm 16 MB/s | 802 kB 00:00 (114/150): tar-1.35-11.el10.aarch64.rpm 3.8 MB/s | 857 kB 00:00 (115/150): unzip-6.0-69.el10.aarch64.rpm 4.3 MB/s | 186 kB 00:00 (116/150): setup-2.14.5-7.el10.noarch.rpm 354 kB/s | 153 kB 00:00 (117/150): util-linux-2.40.2-19.el10.aarch64.rp 24 MB/s | 1.2 MB 00:00 (118/150): util-linux-core-2.40.2-19.el10.aarch 10 MB/s | 542 kB 00:00 (119/150): which-2.21-44.el10.aarch64.rpm 1.1 MB/s | 42 kB 00:00 (120/150): xz-libs-5.6.2-4.el10.aarch64.rpm 2.9 MB/s | 110 kB 00:00 (121/150): zip-3.0-45.el10.aarch64.rpm 6.1 MB/s | 264 kB 00:00 (122/150): xz-5.6.2-4.el10.aarch64.rpm 2.5 MB/s | 481 kB 00:00 (123/150): sqlite-libs-3.46.1-5.el10.aarch64.rp 1.1 MB/s | 730 kB 00:00 (124/150): zstd-1.5.5-9.el10.aarch64.rpm 9.5 MB/s | 455 kB 00:00 (125/150): zlib-ng-compat-2.2.3-3.el10.aarch64. 206 kB/s | 63 kB 00:00 (126/150): efi-srpm-macros-6-8.el10.noarch.rpm 79 kB/s | 23 kB 00:00 (127/150): debugedit-5.1-8.el10.aarch64.rpm 176 kB/s | 80 kB 00:00 (128/150): fonts-srpm-macros-2.0.5-18.el10.noar 315 kB/s | 27 kB 00:00 (129/150): dwz-0.16-1.el10.aarch64.rpm 261 kB/s | 137 kB 00:00 (130/150): forge-srpm-macros-0.4.0-6.el10.noarc 245 kB/s | 21 kB 00:00 (131/150): go-srpm-macros-3.8.0-1.el10.noarch.r 308 kB/s | 27 kB 00:00 (132/150): kernel-srpm-macros-1.0-27.el10.noarc 82 kB/s | 8.7 kB 00:00 (133/150): lua-srpm-macros-1-15.el10.noarch.rpm 113 kB/s | 9.8 kB 00:00 (134/150): ocaml-srpm-macros-10-4.el10.noarch.r 117 kB/s | 10 kB 00:00 (135/150): openblas-srpm-macros-2-19.el10.noarc 100 kB/s | 8.7 kB 00:00 (136/150): package-notes-srpm-macros-0.5-13.el1 118 kB/s | 10 kB 00:00 (137/150): perl-srpm-macros-1-57.el10.noarch.rp 110 kB/s | 9.5 kB 00:00 (138/150): patch-2.7.6-26.el10.aarch64.rpm 788 kB/s | 130 kB 00:00 (139/150): pyproject-srpm-macros-1.18.5-1.el10. 152 kB/s | 13 kB 00:00 (140/150): python-srpm-macros-3.12-11.el10.noar 259 kB/s | 22 kB 00:00 (141/150): qt6-srpm-macros-6.10.1-1.el10.noarch 105 kB/s | 9.1 kB 00:00 (142/150): redhat-rpm-config-295-1.el10.noarch. 489 kB/s | 74 kB 00:00 (143/150): rpm-build-4.19.1.1-23.el10.aarch64.r 425 kB/s | 75 kB 00:00 (144/150): rust-toolset-srpm-macros-1.94.1-1.el 84 kB/s | 10 kB 00:00 (145/150): ansible-srpm-macros-1-21.el10_3.noar 341 kB/s | 20 kB 00:00 (146/150): R-srpm-macros-1.3.7-1.el10_3.noarch. 76 kB/s | 11 kB 00:00 (147/150): epel-rpm-macros-10-7.el10_3.noarch.r 97 kB/s | 8.4 kB 00:00 (148/150): fpc-srpm-macros-1.3-7.el10_1.noarch. 99 kB/s | 7.8 kB 00:00 (149/150): ghc-srpm-macros-1.9.2-1.el10_0.noarc 156 kB/s | 9.1 kB 00:00 (150/150): gdb-minimal-16.3-3.el10.aarch64.rpm 1.1 MB/s | 4.1 MB 00:03 -------------------------------------------------------------------------------- Total 5.6 MB/s | 60 MB 00:10 CentOS Stream 10 - BaseOS 1.6 MB/s | 1.6 kB 00:00 Importing GPG key 0x8483C65D: Userid : "CentOS (CentOS Official Signing Key) " Fingerprint: 99DB 70FA E1D7 CE22 7FB6 4882 05B5 55B3 8483 C65D From : /usr/share/distribution-gpg-keys/centos/RPM-GPG-KEY-CentOS-Official-SHA256 Key imported successfully Extra Packages for Enterprise Linux 10 - aarch6 1.6 MB/s | 1.6 kB 00:00 Importing GPG key 0xE37ED158: Userid : "Fedora (epel10) " Fingerprint: 7D8D 15CB FC4E 6268 8591 FB26 33D9 8517 E37E D158 From : /usr/share/distribution-gpg-keys/epel/RPM-GPG-KEY-EPEL-10 Key imported successfully Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Running scriptlet: filesystem-3.18-17.el10.aarch64 1/1 Preparing : 1/1 Installing : libgcc-14.3.1-4.4.el10.aarch64 1/150 Running scriptlet: libgcc-14.3.1-4.4.el10.aarch64 1/150 Installing : ghc-srpm-macros-1.9.2-1.el10_0.noarch 2/150 Installing : fpc-srpm-macros-1.3-7.el10_1.noarch 3/150 Installing : ansible-srpm-macros-1-21.el10_3.noarch 4/150 Installing : rust-toolset-srpm-macros-1.94.1-1.el10.noarch 5/150 Installing : qt6-srpm-macros-6.10.1-1.el10.noarch 6/150 Installing : perl-srpm-macros-1-57.el10.noarch 7/150 Installing : package-notes-srpm-macros-0.5-13.el10.noarch 8/150 Installing : openblas-srpm-macros-2-19.el10.noarch 9/150 Installing : ocaml-srpm-macros-10-4.el10.noarch 10/150 Installing : kernel-srpm-macros-1.0-27.el10.noarch 11/150 Installing : publicsuffix-list-dafsa-20240107-5.el10.noarch 12/150 Installing : pkgconf-m4-2.1.0-3.el10.noarch 13/150 Installing : pcre2-syntax-10.44-1.el10.3.noarch 14/150 Installing : ncurses-base-6.4-15.20240127.el10.noarch 15/150 Installing : libssh-config-0.12.0-2.el10.noarch 16/150 Installing : coreutils-common-9.5-7.el10.aarch64 17/150 Installing : centos-gpg-keys-10.0-21.el10.noarch 18/150 Installing : centos-stream-repos-10.0-21.el10.noarch 19/150 Installing : centos-stream-release-10.0-21.el10.noarch 20/150 Installing : setup-2.14.5-7.el10.noarch 21/150 Running scriptlet: setup-2.14.5-7.el10.noarch 21/150 Installing : filesystem-3.18-17.el10.aarch64 22/150 Installing : basesystem-11-22.el10.noarch 23/150 Installing : glibc-gconv-extra-2.39-117.el10.aarch64 24/150 Running scriptlet: glibc-gconv-extra-2.39-117.el10.aarch64 24/150 Installing : glibc-minimal-langpack-2.39-117.el10.aarch64 25/150 Installing : glibc-common-2.39-117.el10.aarch64 26/150 Running scriptlet: glibc-2.39-117.el10.aarch64 27/150 Installing : glibc-2.39-117.el10.aarch64 27/150 Running scriptlet: glibc-2.39-117.el10.aarch64 27/150 Installing : ncurses-libs-6.4-15.20240127.el10.aarch64 28/150 Installing : bash-5.2.26-6.el10.aarch64 29/150 Running scriptlet: bash-5.2.26-6.el10.aarch64 29/150 Installing : zlib-ng-compat-2.2.3-3.el10.aarch64 30/150 Installing : bzip2-libs-1.0.8-25.el10.aarch64 31/150 Installing : xz-libs-1:5.6.2-4.el10.aarch64 32/150 Installing : readline-8.2-11.el10.aarch64 33/150 Installing : libstdc++-14.3.1-4.4.el10.aarch64 34/150 Installing : libuuid-2.40.2-19.el10.aarch64 35/150 Installing : popt-1.19-8.el10.aarch64 36/150 Installing : libblkid-2.40.2-19.el10.aarch64 37/150 Installing : gmp-1:6.2.1-12.el10.aarch64 38/150 Installing : libattr-2.5.2-5.el10.aarch64 39/150 Installing : libacl-2.3.2-4.el10.aarch64 40/150 Installing : libxcrypt-4.4.36-10.el10.aarch64 41/150 Installing : libzstd-1.5.5-9.el10.aarch64 42/150 Installing : elfutils-libelf-0.194-2.el10.aarch64 43/150 Running scriptlet: crypto-policies-20260216-1.git0e54016.el10.noarc 44/150 Installing : crypto-policies-20260216-1.git0e54016.el10.noarc 44/150 Running scriptlet: crypto-policies-20260216-1.git0e54016.el10.noarc 44/150 Installing : gdbm-libs-1:1.23-14.el10.aarch64 45/150 Installing : libeconf-0.6.2-4.el10.aarch64 46/150 Installing : dwz-0.16-1.el10.aarch64 47/150 Installing : mpfr-4.2.1-8.el10.aarch64 48/150 Installing : gawk-5.3.0-6.el10.aarch64 49/150 Installing : unzip-6.0-69.el10.aarch64 50/150 Installing : file-libs-5.45-9.el10.aarch64 51/150 Installing : file-5.45-9.el10.aarch64 52/150 Installing : alternatives-1.30-2.el10.aarch64 53/150 Installing : jansson-2.14-3.el10.aarch64 54/150 Installing : libcap-ng-0.8.4-6.el10.aarch64 55/150 Installing : audit-libs-4.0.3-5.el10.aarch64 56/150 Installing : pam-libs-1.6.1-10.el10.aarch64 57/150 Installing : libcap-2.69-7.el10.aarch64 58/150 Installing : systemd-libs-257-24.el10.aarch64 59/150 Installing : libffi-3.4.4-10.el10.aarch64 60/150 Installing : libsepol-3.10-1.el10.aarch64 61/150 Installing : libsmartcols-2.40.2-19.el10.aarch64 62/150 Installing : libtasn1-4.20.0-1.el10.aarch64 63/150 Installing : libunistring-1.1-10.el10.aarch64 64/150 Installing : libidn2-2.3.7-3.el10.aarch64 65/150 Installing : lua-libs-5.4.8-1.el10.aarch64 66/150 Installing : lz4-libs-1.9.4-8.el10.aarch64 67/150 Installing : pcre2-10.44-1.el10.3.aarch64 68/150 Installing : libselinux-3.10-1.el10.aarch64 69/150 Installing : sed-4.9-5.el10.aarch64 70/150 Installing : findutils-1:4.10.0-5.el10.aarch64 71/150 Installing : grep-3.11-10.el10.aarch64 72/150 Installing : xz-1:5.6.2-4.el10.aarch64 73/150 Installing : libmount-2.40.2-19.el10.aarch64 74/150 Installing : util-linux-core-2.40.2-19.el10.aarch64 75/150 Installing : libsemanage-3.10-1.el10.aarch64 76/150 Installing : shadow-utils-2:4.15.0-11.el10.aarch64 77/150 Running scriptlet: libutempter-1.2.1-15.el10.aarch64 78/150 Installing : libutempter-1.2.1-15.el10.aarch64 78/150 Installing : tar-2:1.35-11.el10.aarch64 79/150 Installing : zstd-1.5.5-9.el10.aarch64 80/150 Installing : libpsl-0.21.5-6.el10.aarch64 81/150 Installing : p11-kit-0.26.2-1.el10.aarch64 82/150 Installing : p11-kit-trust-0.26.2-1.el10.aarch64 83/150 Running scriptlet: p11-kit-trust-0.26.2-1.el10.aarch64 83/150 Installing : openssl-fips-provider-1:3.5.5-2.el10.aarch64 84/150 Installing : openssl-libs-1:3.5.5-2.el10.aarch64 85/150 Installing : coreutils-9.5-7.el10.aarch64 86/150 Running scriptlet: ca-certificates-2025.2.80_v9.0.305-102.el10.noar 87/150 Installing : ca-certificates-2025.2.80_v9.0.305-102.el10.noar 87/150 Running scriptlet: ca-certificates-2025.2.80_v9.0.305-102.el10.noar 87/150 Installing : authselect-libs-1.5.2-1.el10.aarch64 88/150 Installing : gzip-1.13-3.el10.aarch64 89/150 Installing : cracklib-2.9.11-8.el10.aarch64 90/150 Installing : cracklib-dicts-2.9.11-8.el10.aarch64 91/150 Installing : libpwquality-1.4.5-12.el10.aarch64 92/150 Installing : libevent-2.1.12-16.el10.aarch64 93/150 Installing : rpm-sequoia-1.10.1.1-2.el10.aarch64 94/150 Installing : zip-3.0-45.el10.aarch64 95/150 Installing : cyrus-sasl-lib-2.1.28-27.el10.aarch64 96/150 Installing : openldap-2.6.10-1.el10.aarch64 97/150 Installing : gdbm-1:1.23-14.el10.aarch64 98/150 Installing : pam-1.6.1-10.el10.aarch64 99/150 Installing : libfdisk-2.40.2-19.el10.aarch64 100/150 Installing : libxml2-2.12.5-10.el10.aarch64 101/150 Installing : libarchive-3.7.7-8.el10.aarch64 102/150 Installing : bzip2-1.0.8-25.el10.aarch64 103/150 Installing : sqlite-libs-3.46.1-5.el10.aarch64 104/150 Installing : rpm-libs-4.19.1.1-23.el10.aarch64 105/150 Installing : ed-1.20-5.el10.aarch64 106/150 Installing : patch-2.7.6-26.el10.aarch64 107/150 Installing : elfutils-default-yama-scope-0.194-2.el10.noarch 108/150 Running scriptlet: elfutils-default-yama-scope-0.194-2.el10.noarch 108/150 Installing : cpio-2.15-3.el10.aarch64 109/150 Installing : diffutils-3.10-8.el10.aarch64 110/150 Installing : json-c-0.18-3.el10.aarch64 111/150 Installing : keyutils-libs-1.6.3-5.el10.aarch64 112/150 Installing : libbrotli-1.1.0-7.el10.aarch64 113/150 Installing : libcbor-0.11.0-3.el10.aarch64 114/150 Installing : libfido2-1.14.0-7.el10.aarch64 115/150 Installing : libcom_err-1.47.1-5.el10.aarch64 116/150 Installing : libgomp-14.3.1-4.4.el10.aarch64 117/150 Installing : libnghttp2-1.68.0-4.el10.aarch64 118/150 Installing : libpkgconf-2.1.0-3.el10.aarch64 119/150 Installing : pkgconf-2.1.0-3.el10.aarch64 120/150 Installing : pkgconf-pkg-config-2.1.0-3.el10.aarch64 121/150 Installing : libverto-0.3.2-10.el10.aarch64 122/150 Installing : krb5-libs-1.21.3-9.el10.aarch64 123/150 Installing : libssh-0.12.0-2.el10.aarch64 124/150 Installing : libcurl-8.12.1-5.el10.aarch64 125/150 Installing : elfutils-libs-0.194-2.el10.aarch64 126/150 Installing : elfutils-debuginfod-client-0.194-2.el10.aarch64 127/150 Installing : binutils-gold-2.41-65.el10.aarch64 128/150 Running scriptlet: binutils-gold-2.41-65.el10.aarch64 128/150 Installing : binutils-2.41-65.el10.aarch64 129/150 Running scriptlet: binutils-2.41-65.el10.aarch64 129/150 Installing : elfutils-0.194-2.el10.aarch64 130/150 Installing : gdb-minimal-16.3-3.el10.aarch64 131/150 Installing : debugedit-5.1-8.el10.aarch64 132/150 Installing : rpm-build-libs-4.19.1.1-23.el10.aarch64 133/150 Installing : curl-8.12.1-5.el10.aarch64 134/150 Running scriptlet: rpm-4.19.1.1-23.el10.aarch64 135/150 Installing : rpm-4.19.1.1-23.el10.aarch64 135/150 Installing : efi-srpm-macros-6-8.el10.noarch 136/150 Installing : lua-srpm-macros-1-15.el10.noarch 137/150 Installing : fonts-srpm-macros-1:2.0.5-18.el10.noarch 138/150 Installing : forge-srpm-macros-0.4.0-6.el10.noarch 139/150 Installing : go-srpm-macros-3.8.0-1.el10.noarch 140/150 Installing : python-srpm-macros-3.12-11.el10.noarch 141/150 Installing : redhat-rpm-config-295-1.el10.noarch 142/150 Installing : rpm-build-4.19.1.1-23.el10.aarch64 143/150 Installing : pyproject-srpm-macros-1.18.5-1.el10.noarch 144/150 Installing : R-srpm-macros-1.3.7-1.el10_3.noarch 145/150 Installing : epel-rpm-macros-10-7.el10_3.noarch 146/150 Installing : util-linux-2.40.2-19.el10.aarch64 147/150 Running scriptlet: util-linux-2.40.2-19.el10.aarch64 147/150 Installing : authselect-1.5.2-1.el10.aarch64 148/150 Installing : which-2.21-44.el10.aarch64 149/150 Installing : info-7.1-6.el10.aarch64 150/150 Running scriptlet: filesystem-3.18-17.el10.aarch64 150/150 Running scriptlet: ca-certificates-2025.2.80_v9.0.305-102.el10.noar 150/150 Running scriptlet: authselect-libs-1.5.2-1.el10.aarch64 150/150 Running scriptlet: rpm-4.19.1.1-23.el10.aarch64 150/150 Running scriptlet: info-7.1-6.el10.aarch64 150/150 Installed: R-srpm-macros-1.3.7-1.el10_3.noarch alternatives-1.30-2.el10.aarch64 ansible-srpm-macros-1-21.el10_3.noarch audit-libs-4.0.3-5.el10.aarch64 authselect-1.5.2-1.el10.aarch64 authselect-libs-1.5.2-1.el10.aarch64 basesystem-11-22.el10.noarch bash-5.2.26-6.el10.aarch64 binutils-2.41-65.el10.aarch64 binutils-gold-2.41-65.el10.aarch64 bzip2-1.0.8-25.el10.aarch64 bzip2-libs-1.0.8-25.el10.aarch64 ca-certificates-2025.2.80_v9.0.305-102.el10.noarch centos-gpg-keys-10.0-21.el10.noarch centos-stream-release-10.0-21.el10.noarch centos-stream-repos-10.0-21.el10.noarch coreutils-9.5-7.el10.aarch64 coreutils-common-9.5-7.el10.aarch64 cpio-2.15-3.el10.aarch64 cracklib-2.9.11-8.el10.aarch64 cracklib-dicts-2.9.11-8.el10.aarch64 crypto-policies-20260216-1.git0e54016.el10.noarch curl-8.12.1-5.el10.aarch64 cyrus-sasl-lib-2.1.28-27.el10.aarch64 debugedit-5.1-8.el10.aarch64 diffutils-3.10-8.el10.aarch64 dwz-0.16-1.el10.aarch64 ed-1.20-5.el10.aarch64 efi-srpm-macros-6-8.el10.noarch elfutils-0.194-2.el10.aarch64 elfutils-debuginfod-client-0.194-2.el10.aarch64 elfutils-default-yama-scope-0.194-2.el10.noarch elfutils-libelf-0.194-2.el10.aarch64 elfutils-libs-0.194-2.el10.aarch64 epel-rpm-macros-10-7.el10_3.noarch file-5.45-9.el10.aarch64 file-libs-5.45-9.el10.aarch64 filesystem-3.18-17.el10.aarch64 findutils-1:4.10.0-5.el10.aarch64 fonts-srpm-macros-1:2.0.5-18.el10.noarch forge-srpm-macros-0.4.0-6.el10.noarch fpc-srpm-macros-1.3-7.el10_1.noarch gawk-5.3.0-6.el10.aarch64 gdb-minimal-16.3-3.el10.aarch64 gdbm-1:1.23-14.el10.aarch64 gdbm-libs-1:1.23-14.el10.aarch64 ghc-srpm-macros-1.9.2-1.el10_0.noarch glibc-2.39-117.el10.aarch64 glibc-common-2.39-117.el10.aarch64 glibc-gconv-extra-2.39-117.el10.aarch64 glibc-minimal-langpack-2.39-117.el10.aarch64 gmp-1:6.2.1-12.el10.aarch64 go-srpm-macros-3.8.0-1.el10.noarch grep-3.11-10.el10.aarch64 gzip-1.13-3.el10.aarch64 info-7.1-6.el10.aarch64 jansson-2.14-3.el10.aarch64 json-c-0.18-3.el10.aarch64 kernel-srpm-macros-1.0-27.el10.noarch keyutils-libs-1.6.3-5.el10.aarch64 krb5-libs-1.21.3-9.el10.aarch64 libacl-2.3.2-4.el10.aarch64 libarchive-3.7.7-8.el10.aarch64 libattr-2.5.2-5.el10.aarch64 libblkid-2.40.2-19.el10.aarch64 libbrotli-1.1.0-7.el10.aarch64 libcap-2.69-7.el10.aarch64 libcap-ng-0.8.4-6.el10.aarch64 libcbor-0.11.0-3.el10.aarch64 libcom_err-1.47.1-5.el10.aarch64 libcurl-8.12.1-5.el10.aarch64 libeconf-0.6.2-4.el10.aarch64 libevent-2.1.12-16.el10.aarch64 libfdisk-2.40.2-19.el10.aarch64 libffi-3.4.4-10.el10.aarch64 libfido2-1.14.0-7.el10.aarch64 libgcc-14.3.1-4.4.el10.aarch64 libgomp-14.3.1-4.4.el10.aarch64 libidn2-2.3.7-3.el10.aarch64 libmount-2.40.2-19.el10.aarch64 libnghttp2-1.68.0-4.el10.aarch64 libpkgconf-2.1.0-3.el10.aarch64 libpsl-0.21.5-6.el10.aarch64 libpwquality-1.4.5-12.el10.aarch64 libselinux-3.10-1.el10.aarch64 libsemanage-3.10-1.el10.aarch64 libsepol-3.10-1.el10.aarch64 libsmartcols-2.40.2-19.el10.aarch64 libssh-0.12.0-2.el10.aarch64 libssh-config-0.12.0-2.el10.noarch libstdc++-14.3.1-4.4.el10.aarch64 libtasn1-4.20.0-1.el10.aarch64 libunistring-1.1-10.el10.aarch64 libutempter-1.2.1-15.el10.aarch64 libuuid-2.40.2-19.el10.aarch64 libverto-0.3.2-10.el10.aarch64 libxcrypt-4.4.36-10.el10.aarch64 libxml2-2.12.5-10.el10.aarch64 libzstd-1.5.5-9.el10.aarch64 lua-libs-5.4.8-1.el10.aarch64 lua-srpm-macros-1-15.el10.noarch lz4-libs-1.9.4-8.el10.aarch64 mpfr-4.2.1-8.el10.aarch64 ncurses-base-6.4-15.20240127.el10.noarch ncurses-libs-6.4-15.20240127.el10.aarch64 ocaml-srpm-macros-10-4.el10.noarch openblas-srpm-macros-2-19.el10.noarch openldap-2.6.10-1.el10.aarch64 openssl-fips-provider-1:3.5.5-2.el10.aarch64 openssl-libs-1:3.5.5-2.el10.aarch64 p11-kit-0.26.2-1.el10.aarch64 p11-kit-trust-0.26.2-1.el10.aarch64 package-notes-srpm-macros-0.5-13.el10.noarch pam-1.6.1-10.el10.aarch64 pam-libs-1.6.1-10.el10.aarch64 patch-2.7.6-26.el10.aarch64 pcre2-10.44-1.el10.3.aarch64 pcre2-syntax-10.44-1.el10.3.noarch perl-srpm-macros-1-57.el10.noarch pkgconf-2.1.0-3.el10.aarch64 pkgconf-m4-2.1.0-3.el10.noarch pkgconf-pkg-config-2.1.0-3.el10.aarch64 popt-1.19-8.el10.aarch64 publicsuffix-list-dafsa-20240107-5.el10.noarch pyproject-srpm-macros-1.18.5-1.el10.noarch python-srpm-macros-3.12-11.el10.noarch qt6-srpm-macros-6.10.1-1.el10.noarch readline-8.2-11.el10.aarch64 redhat-rpm-config-295-1.el10.noarch rpm-4.19.1.1-23.el10.aarch64 rpm-build-4.19.1.1-23.el10.aarch64 rpm-build-libs-4.19.1.1-23.el10.aarch64 rpm-libs-4.19.1.1-23.el10.aarch64 rpm-sequoia-1.10.1.1-2.el10.aarch64 rust-toolset-srpm-macros-1.94.1-1.el10.noarch sed-4.9-5.el10.aarch64 setup-2.14.5-7.el10.noarch shadow-utils-2:4.15.0-11.el10.aarch64 sqlite-libs-3.46.1-5.el10.aarch64 systemd-libs-257-24.el10.aarch64 tar-2:1.35-11.el10.aarch64 unzip-6.0-69.el10.aarch64 util-linux-2.40.2-19.el10.aarch64 util-linux-core-2.40.2-19.el10.aarch64 which-2.21-44.el10.aarch64 xz-1:5.6.2-4.el10.aarch64 xz-libs-1:5.6.2-4.el10.aarch64 zip-3.0-45.el10.aarch64 zlib-ng-compat-2.2.3-3.el10.aarch64 zstd-1.5.5-9.el10.aarch64 Complete! Finish: installing minimal buildroot with dnf Start: creating root cache Finish: creating root cache Finish: chroot init INFO: Installed packages: INFO: R-srpm-macros-1.3.7-1.el10_3.noarch alternatives-1.30-2.el10.aarch64 ansible-srpm-macros-1-21.el10_3.noarch audit-libs-4.0.3-5.el10.aarch64 authselect-1.5.2-1.el10.aarch64 authselect-libs-1.5.2-1.el10.aarch64 basesystem-11-22.el10.noarch bash-5.2.26-6.el10.aarch64 binutils-2.41-65.el10.aarch64 binutils-gold-2.41-65.el10.aarch64 bzip2-1.0.8-25.el10.aarch64 bzip2-libs-1.0.8-25.el10.aarch64 ca-certificates-2025.2.80_v9.0.305-102.el10.noarch centos-gpg-keys-10.0-21.el10.noarch centos-stream-release-10.0-21.el10.noarch centos-stream-repos-10.0-21.el10.noarch coreutils-9.5-7.el10.aarch64 coreutils-common-9.5-7.el10.aarch64 cpio-2.15-3.el10.aarch64 cracklib-2.9.11-8.el10.aarch64 cracklib-dicts-2.9.11-8.el10.aarch64 crypto-policies-20260216-1.git0e54016.el10.noarch curl-8.12.1-5.el10.aarch64 cyrus-sasl-lib-2.1.28-27.el10.aarch64 debugedit-5.1-8.el10.aarch64 diffutils-3.10-8.el10.aarch64 dwz-0.16-1.el10.aarch64 ed-1.20-5.el10.aarch64 efi-srpm-macros-6-8.el10.noarch elfutils-0.194-2.el10.aarch64 elfutils-debuginfod-client-0.194-2.el10.aarch64 elfutils-default-yama-scope-0.194-2.el10.noarch elfutils-libelf-0.194-2.el10.aarch64 elfutils-libs-0.194-2.el10.aarch64 epel-rpm-macros-10-7.el10_3.noarch file-5.45-9.el10.aarch64 file-libs-5.45-9.el10.aarch64 filesystem-3.18-17.el10.aarch64 findutils-4.10.0-5.el10.aarch64 fonts-srpm-macros-2.0.5-18.el10.noarch forge-srpm-macros-0.4.0-6.el10.noarch fpc-srpm-macros-1.3-7.el10_1.noarch gawk-5.3.0-6.el10.aarch64 gdb-minimal-16.3-3.el10.aarch64 gdbm-1.23-14.el10.aarch64 gdbm-libs-1.23-14.el10.aarch64 ghc-srpm-macros-1.9.2-1.el10_0.noarch glibc-2.39-117.el10.aarch64 glibc-common-2.39-117.el10.aarch64 glibc-gconv-extra-2.39-117.el10.aarch64 glibc-minimal-langpack-2.39-117.el10.aarch64 gmp-6.2.1-12.el10.aarch64 go-srpm-macros-3.8.0-1.el10.noarch gpg-pubkey-8483c65d-5ccc5b19 gpg-pubkey-e37ed158-65785fa9 grep-3.11-10.el10.aarch64 gzip-1.13-3.el10.aarch64 info-7.1-6.el10.aarch64 jansson-2.14-3.el10.aarch64 json-c-0.18-3.el10.aarch64 kernel-srpm-macros-1.0-27.el10.noarch keyutils-libs-1.6.3-5.el10.aarch64 krb5-libs-1.21.3-9.el10.aarch64 libacl-2.3.2-4.el10.aarch64 libarchive-3.7.7-8.el10.aarch64 libattr-2.5.2-5.el10.aarch64 libblkid-2.40.2-19.el10.aarch64 libbrotli-1.1.0-7.el10.aarch64 libcap-2.69-7.el10.aarch64 libcap-ng-0.8.4-6.el10.aarch64 libcbor-0.11.0-3.el10.aarch64 libcom_err-1.47.1-5.el10.aarch64 libcurl-8.12.1-5.el10.aarch64 libeconf-0.6.2-4.el10.aarch64 libevent-2.1.12-16.el10.aarch64 libfdisk-2.40.2-19.el10.aarch64 libffi-3.4.4-10.el10.aarch64 libfido2-1.14.0-7.el10.aarch64 libgcc-14.3.1-4.4.el10.aarch64 libgomp-14.3.1-4.4.el10.aarch64 libidn2-2.3.7-3.el10.aarch64 libmount-2.40.2-19.el10.aarch64 libnghttp2-1.68.0-4.el10.aarch64 libpkgconf-2.1.0-3.el10.aarch64 libpsl-0.21.5-6.el10.aarch64 libpwquality-1.4.5-12.el10.aarch64 libselinux-3.10-1.el10.aarch64 libsemanage-3.10-1.el10.aarch64 libsepol-3.10-1.el10.aarch64 libsmartcols-2.40.2-19.el10.aarch64 libssh-0.12.0-2.el10.aarch64 libssh-config-0.12.0-2.el10.noarch libstdc++-14.3.1-4.4.el10.aarch64 libtasn1-4.20.0-1.el10.aarch64 libunistring-1.1-10.el10.aarch64 libutempter-1.2.1-15.el10.aarch64 libuuid-2.40.2-19.el10.aarch64 libverto-0.3.2-10.el10.aarch64 libxcrypt-4.4.36-10.el10.aarch64 libxml2-2.12.5-10.el10.aarch64 libzstd-1.5.5-9.el10.aarch64 lua-libs-5.4.8-1.el10.aarch64 lua-srpm-macros-1-15.el10.noarch lz4-libs-1.9.4-8.el10.aarch64 mpfr-4.2.1-8.el10.aarch64 ncurses-base-6.4-15.20240127.el10.noarch ncurses-libs-6.4-15.20240127.el10.aarch64 ocaml-srpm-macros-10-4.el10.noarch openblas-srpm-macros-2-19.el10.noarch openldap-2.6.10-1.el10.aarch64 openssl-fips-provider-3.5.5-2.el10.aarch64 openssl-libs-3.5.5-2.el10.aarch64 p11-kit-0.26.2-1.el10.aarch64 p11-kit-trust-0.26.2-1.el10.aarch64 package-notes-srpm-macros-0.5-13.el10.noarch pam-1.6.1-10.el10.aarch64 pam-libs-1.6.1-10.el10.aarch64 patch-2.7.6-26.el10.aarch64 pcre2-10.44-1.el10.3.aarch64 pcre2-syntax-10.44-1.el10.3.noarch perl-srpm-macros-1-57.el10.noarch pkgconf-2.1.0-3.el10.aarch64 pkgconf-m4-2.1.0-3.el10.noarch pkgconf-pkg-config-2.1.0-3.el10.aarch64 popt-1.19-8.el10.aarch64 publicsuffix-list-dafsa-20240107-5.el10.noarch pyproject-srpm-macros-1.18.5-1.el10.noarch python-srpm-macros-3.12-11.el10.noarch qt6-srpm-macros-6.10.1-1.el10.noarch readline-8.2-11.el10.aarch64 redhat-rpm-config-295-1.el10.noarch rpm-4.19.1.1-23.el10.aarch64 rpm-build-4.19.1.1-23.el10.aarch64 rpm-build-libs-4.19.1.1-23.el10.aarch64 rpm-libs-4.19.1.1-23.el10.aarch64 rpm-sequoia-1.10.1.1-2.el10.aarch64 rust-toolset-srpm-macros-1.94.1-1.el10.noarch sed-4.9-5.el10.aarch64 setup-2.14.5-7.el10.noarch shadow-utils-4.15.0-11.el10.aarch64 sqlite-libs-3.46.1-5.el10.aarch64 systemd-libs-257-24.el10.aarch64 tar-1.35-11.el10.aarch64 unzip-6.0-69.el10.aarch64 util-linux-2.40.2-19.el10.aarch64 util-linux-core-2.40.2-19.el10.aarch64 which-2.21-44.el10.aarch64 xz-5.6.2-4.el10.aarch64 xz-libs-5.6.2-4.el10.aarch64 zip-3.0-45.el10.aarch64 zlib-ng-compat-2.2.3-3.el10.aarch64 zstd-1.5.5-9.el10.aarch64 Start: buildsrpm Start: rpmbuild -bs Building target platforms: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1600992000 Wrote: /builddir/build/SRPMS/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.src.rpm Finish: rpmbuild -bs INFO: chroot_scan: 3 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/centos-stream+epel-10-aarch64-1776824127.065540/root/var/log/dnf.rpm.log /var/lib/mock/centos-stream+epel-10-aarch64-1776824127.065540/root/var/log/dnf.librepo.log /var/lib/mock/centos-stream+epel-10-aarch64-1776824127.065540/root/var/log/dnf.log INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz /bin/tar: Removing leading `/' from member names Finish: buildsrpm INFO: Done(/var/lib/copr-rpmbuild/workspace/workdir-writfh0b/gloo/gloo.spec) Config(child) 0 minutes 51 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_success=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot INFO: Start(/var/lib/copr-rpmbuild/results/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.src.rpm) Config(centos-stream+epel-10-aarch64) Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/centos-stream+epel-10-aarch64-bootstrap-1776824127.065540/root. INFO: reusing tmpfs at /var/lib/mock/centos-stream+epel-10-aarch64-bootstrap-1776824127.065540/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/centos-stream+epel-10-aarch64-1776824127.065540/root. INFO: calling preinit hooks INFO: enabled root cache Start: unpacking root cache Finish: unpacking root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-4.19.1.1-23.el10.aarch64 rpm-sequoia-1.10.1.1-2.el10.aarch64 python3-dnf-4.20.0-23.el10.noarch python3-dnf-plugins-core-4.7.0-10.el10.noarch yum-4.20.0-23.el10.noarch Finish: chroot init Start: build phase for gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.src.rpm Start: build setup for gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.src.rpm Building target platforms: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1600992000 Wrote: /builddir/build/SRPMS/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.src.rpm No matches found for the following disable plugin patterns: local, spacewalk, versionlock Copr repository 7.9 kB/s | 1.5 kB 00:00 Additional repo copr_rezso_CUDA 30 kB/s | 1.5 kB 00:00 Additional repo https_developer_download_nvidia 35 kB/s | 3.9 kB 00:00 Additional repo https_developer_download_nvidia 20 kB/s | 3.9 kB 00:00 CentOS Stream 10 - BaseOS 59 kB/s | 6.8 kB 00:00 CentOS Stream 10 - AppStream 58 kB/s | 6.9 kB 00:00 CentOS Stream 10 - CRB 127 kB/s | 6.7 kB 00:00 CentOS Stream 10 - Extras packages 160 kB/s | 7.4 kB 00:00 Extra Packages for Enterprise Linux 10 - aarch6 285 kB/s | 18 kB 00:00 Dependencies resolved. =============================================================================================================================================== Package Arch Version Repository Size =============================================================================================================================================== Installing: cmake aarch64 3.31.8-1.el10 appstream 8.2 M cuda-cudart-devel-13-2 aarch64 13.2.75-1 https_developer_download_nvidia_com_compute_cuda_repos_rhel10_sbsa 1.9 M cuda-gcc-13-c++ aarch64 13.3.1-4.el10 copr_base 14 M cuda-nvcc-13-2 aarch64 13.2.78-1 https_developer_download_nvidia_com_compute_cuda_repos_rhel10_sbsa 37 M cuda-nvml-devel-13-2 aarch64 13.2.82-1 https_developer_download_nvidia_com_compute_cuda_repos_rhel10_sbsa 235 k gcc-c++ aarch64 14.3.1-4.4.el10 appstream 14 M git aarch64 2.52.0-1.el10 appstream 40 k hiredis-devel aarch64 1.2.0-5.el10_0 epel 50 k libnccl aarch64 2.30.3-1+cuda13.2 https_developer_download_nvidia_com_compute_cuda_repos_rhel10_sbsa 203 M libnccl-devel aarch64 2.30.3-1+cuda13.2 https_developer_download_nvidia_com_compute_cuda_repos_rhel10_sbsa 510 k libuv-devel aarch64 1:1.51.0-1.el10 appstream 42 k rdma-core-devel aarch64 61.0-1.el10 appstream 491 k Installing dependencies: annobin-docs noarch 13.06-1.el10 appstream 87 k annobin-plugin-gcc aarch64 13.06-1.el10 appstream 683 k cmake-data noarch 3.31.8-1.el10 appstream 2.7 M cmake-filesystem aarch64 3.31.8-1.el10 appstream 21 k cmake-rpm-macros noarch 3.31.8-1.el10 appstream 12 k cpp aarch64 14.3.1-4.4.el10 appstream 11 M cuda-cccl-13-2 aarch64 13.2.75-1 https_developer_download_nvidia_com_compute_cuda_repos_rhel10_sbsa 2.0 M cuda-crt-13-2 aarch64 13.2.78-1 https_developer_download_nvidia_com_compute_cuda_repos_rhel10_sbsa 122 k cuda-cudart-13-2 aarch64 13.2.75-1 https_developer_download_nvidia_com_compute_cuda_repos_rhel10_sbsa 255 k cuda-culibos-devel-13-2 aarch64 13.2.75-1 https_developer_download_nvidia_com_compute_cuda_repos_rhel10_sbsa 33 k cuda-gcc-13 aarch64 13.3.1-4.el10 copr_base 31 M cuda-toolkit-13-2-config-common noarch 13.2.75-1 https_developer_download_nvidia_com_compute_cuda_repos_rhel10_x86_64 8.3 k cuda-toolkit-13-config-common noarch 13.2.75-1 https_developer_download_nvidia_com_compute_cuda_repos_rhel10_x86_64 8.5 k cuda-toolkit-config-common noarch 13.2.75-1 https_developer_download_nvidia_com_compute_cuda_repos_rhel10_x86_64 8.5 k emacs-filesystem noarch 1:29.4-12.el10 baseos 10 k expat aarch64 2.7.3-1.el10 baseos 114 k gcc aarch64 14.3.1-4.4.el10 appstream 35 M gcc-plugin-annobin aarch64 14.3.1-4.4.el10 appstream 62 k git-core aarch64 2.52.0-1.el10 appstream 5.2 M git-core-doc noarch 2.52.0-1.el10 appstream 3.2 M glibc-devel aarch64 2.39-117.el10 appstream 579 k groff-base aarch64 1.23.0-10.el10 baseos 1.1 M hiredis aarch64 1.2.0-5.el10_0 epel 49 k infiniband-diags aarch64 61.0-1.el10 appstream 341 k kernel-headers aarch64 6.12.0-222.el10 appstream 2.1 M less aarch64 661-3.el10 baseos 191 k libasan aarch64 14.3.1-4.4.el10 appstream 525 k libatomic aarch64 14.3.1-4.4.el10 baseos 51 k libedit aarch64 3.1-52.20230828cvs.el10 baseos 106 k libibumad aarch64 61.0-1.el10 baseos 28 k libibverbs aarch64 61.0-1.el10 baseos 475 k libmpc aarch64 1.3.1-7.el10 appstream 73 k libnl3 aarch64 3.11.0-1.el10 baseos 350 k libnvptxcompiler-13-2 aarch64 13.2.78-1 https_developer_download_nvidia_com_compute_cuda_repos_rhel10_sbsa 23 M libnvvm-13-2 aarch64 13.2.78-1 https_developer_download_nvidia_com_compute_cuda_repos_rhel10_sbsa 59 M librdmacm aarch64 61.0-1.el10 baseos 74 k libstdc++-devel aarch64 14.3.1-4.4.el10 appstream 2.8 M libubsan aarch64 14.3.1-4.4.el10 appstream 231 k libuv aarch64 1:1.51.0-1.el10 appstream 261 k libuv-static aarch64 1:1.51.0-1.el10 appstream 111 k libxcrypt-devel aarch64 4.4.36-10.el10 appstream 30 k make aarch64 1:4.4.1-9.el10 baseos 585 k mpdecimal aarch64 2.5.1-12.el10 baseos 90 k ncurses aarch64 6.4-15.20240127.el10 baseos 418 k openssh aarch64 9.9p1-26.el10 baseos 347 k openssh-clients aarch64 9.9p1-26.el10 baseos 744 k perl-AutoLoader noarch 5.74-514.el10 appstream 22 k perl-B aarch64 1.89-514.el10 appstream 179 k perl-Carp noarch 1.54-511.el10 baseos 30 k perl-Class-Struct noarch 0.68-514.el10 appstream 23 k perl-Data-Dumper aarch64 2.189-512.el10 baseos 56 k perl-Digest noarch 1.20-511.el10 baseos 26 k perl-Digest-MD5 aarch64 2.59-6.el10 baseos 37 k perl-DynaLoader aarch64 1.56-514.el10 appstream 27 k perl-Encode aarch64 4:3.21-511.el10 baseos 1.1 M perl-Errno aarch64 1.38-514.el10 appstream 16 k perl-Error noarch 1:0.17029-18.el10 appstream 42 k perl-Exporter noarch 5.78-511.el10 baseos 32 k perl-Fcntl aarch64 1.18-514.el10 appstream 30 k perl-File-Basename noarch 2.86-514.el10 appstream 18 k perl-File-Path noarch 2.18-512.el10 appstream 35 k perl-File-Temp noarch 1:0.231.100-512.el10 baseos 60 k perl-File-stat noarch 1.14-514.el10 appstream 18 k perl-FileHandle noarch 2.05-514.el10 appstream 16 k perl-Getopt-Long noarch 1:2.58-3.el10 baseos 65 k perl-Getopt-Std noarch 1.14-514.el10 appstream 16 k perl-Git noarch 2.52.0-1.el10 appstream 37 k perl-HTTP-Tiny noarch 0.088-512.el10 baseos 57 k perl-IO aarch64 1.55-514.el10 appstream 81 k perl-IO-Socket-IP noarch 0.42-512.el10 baseos 43 k perl-IO-Socket-SSL noarch 2.085-3.el10 baseos 227 k perl-IPC-Open3 noarch 1.22-514.el10 appstream 23 k perl-MIME-Base64 aarch64 3.16-511.el10 baseos 31 k perl-Mozilla-CA noarch 20231213-5.el10 baseos 15 k perl-Net-SSLeay aarch64 1.94-9.el10 appstream 377 k perl-POSIX aarch64 2.20-514.el10 appstream 98 k perl-PathTools aarch64 3.91-512.el10 baseos 85 k perl-Pod-Escapes noarch 1:1.07-511.el10 baseos 21 k perl-Pod-Perldoc noarch 3.28.01-512.el10 baseos 84 k perl-Pod-Simple noarch 1:3.45-511.el10 baseos 218 k perl-Pod-Usage noarch 4:2.03-511.el10 baseos 41 k perl-Scalar-List-Utils aarch64 5:1.63-511.el10 baseos 73 k perl-SelectSaver noarch 1.02-514.el10 appstream 12 k perl-Socket aarch64 4:2.038-511.el10 baseos 56 k perl-Storable aarch64 1:3.32-511.el10 baseos 98 k perl-Symbol noarch 1.09-514.el10 appstream 15 k perl-Term-ANSIColor noarch 5.01-512.el10 baseos 49 k perl-Term-Cap noarch 1.18-511.el10 baseos 23 k perl-TermReadKey aarch64 2.38-24.el10 appstream 37 k perl-Text-ParseWords noarch 3.31-511.el10 baseos 17 k perl-Text-Tabs+Wrap noarch 2024.001-511.el10 baseos 23 k perl-Time-Local noarch 2:1.350-511.el10 baseos 35 k perl-URI noarch 5.27-3.el10 baseos 134 k perl-base noarch 2.27-514.el10 appstream 17 k perl-constant noarch 1.33-512.el10 baseos 24 k perl-if noarch 0.61.000-514.el10 appstream 15 k perl-interpreter aarch64 4:5.40.2-514.el10 appstream 73 k perl-lib aarch64 0.65-514.el10 appstream 16 k perl-libnet noarch 3.15-512.el10 baseos 127 k perl-libs aarch64 4:5.40.2-514.el10 appstream 2.3 M perl-locale noarch 1.12-514.el10 appstream 14 k perl-mro aarch64 1.29-514.el10 appstream 30 k perl-overload noarch 1.37-514.el10 appstream 46 k perl-overloading noarch 0.02-514.el10 appstream 14 k perl-parent noarch 1:0.241-512.el10 baseos 16 k perl-podlators noarch 1:5.01-511.el10 baseos 124 k perl-vars noarch 1.05-514.el10 appstream 14 k python3 aarch64 3.12.12-6.el10 baseos 28 k python3-libs aarch64 3.12.12-6.el10 baseos 9.3 M python3-pip-wheel noarch 23.3.2-7.el10 baseos 1.5 M tzdata noarch 2026a-1.el10 baseos 905 k vim-filesystem noarch 2:9.1.083-10.el10 baseos 15 k Transaction Summary =============================================================================================================================================== Install 124 Packages Total download size: 482 M Installed size: 1.1 G Downloading Packages: (1/124): cuda-toolkit-13-2-config-common-13.2.7 161 kB/s | 8.3 kB 00:00 (2/124): cuda-toolkit-13-config-common-13.2.75- 478 kB/s | 8.5 kB 00:00 (3/124): cuda-toolkit-config-common-13.2.75-1.n 409 kB/s | 8.5 kB 00:00 (4/124): cuda-cccl-13-2-13.2.75-1.aarch64.rpm 40 MB/s | 2.0 MB 00:00 (5/124): cuda-gcc-13-c++-13.3.1-4.el10.aarch64. 75 MB/s | 14 MB 00:00 (6/124): cuda-crt-13-2-13.2.78-1.aarch64.rpm 2.3 MB/s | 122 kB 00:00 (7/124): cuda-cudart-devel-13-2-13.2.75-1.aarch 55 MB/s | 1.9 MB 00:00 (8/124): cuda-cudart-13-2-13.2.75-1.aarch64.rpm 6.3 MB/s | 255 kB 00:00 (9/124): cuda-gcc-13-13.3.1-4.el10.aarch64.rpm 109 MB/s | 31 MB 00:00 (10/124): cuda-culibos-devel-13-2-13.2.75-1.aar 571 kB/s | 33 kB 00:00 (11/124): cuda-nvml-devel-13-2-13.2.82-1.aarch6 6.2 MB/s | 235 kB 00:00 (12/124): libnccl-devel-2.30.3-1+cuda13.2.aarch 9.0 MB/s | 510 kB 00:00 (13/124): cuda-nvcc-13-2-13.2.78-1.aarch64.rpm 90 MB/s | 37 MB 00:00 (14/124): libnvptxcompiler-13-2-13.2.78-1.aarch 75 MB/s | 23 MB 00:00 (15/124): libnvvm-13-2-13.2.78-1.aarch64.rpm 173 MB/s | 59 MB 00:00 (16/124): emacs-filesystem-29.4-12.el10.noarch. 24 kB/s | 10 kB 00:00 (17/124): expat-2.7.3-1.el10.aarch64.rpm 246 kB/s | 114 kB 00:00 (18/124): less-661-3.el10.aarch64.rpm 569 kB/s | 191 kB 00:00 (19/124): libatomic-14.3.1-4.4.el10.aarch64.rpm 270 kB/s | 51 kB 00:00 (20/124): libedit-3.1-52.20230828cvs.el10.aarch 508 kB/s | 106 kB 00:00 (21/124): libibumad-61.0-1.el10.aarch64.rpm 194 kB/s | 28 kB 00:00 (22/124): groff-base-1.23.0-10.el10.aarch64.rpm 873 kB/s | 1.1 MB 00:01 (23/124): libnccl-2.30.3-1+cuda13.2.aarch64.rpm 78 MB/s | 203 MB 00:02 (24/124): libnl3-3.11.0-1.el10.aarch64.rpm 693 kB/s | 350 kB 00:00 (25/124): libibverbs-61.0-1.el10.aarch64.rpm 737 kB/s | 475 kB 00:00 (26/124): librdmacm-61.0-1.el10.aarch64.rpm 322 kB/s | 74 kB 00:00 (27/124): mpdecimal-2.5.1-12.el10.aarch64.rpm 450 kB/s | 90 kB 00:00 (28/124): openssh-9.9p1-26.el10.aarch64.rpm 877 kB/s | 347 kB 00:00 (29/124): ncurses-6.4-15.20240127.el10.aarch64. 904 kB/s | 418 kB 00:00 (30/124): perl-Carp-1.54-511.el10.noarch.rpm 225 kB/s | 30 kB 00:00 (31/124): perl-Data-Dumper-2.189-512.el10.aarch 423 kB/s | 56 kB 00:00 (32/124): make-4.4.1-9.el10.aarch64.rpm 579 kB/s | 585 kB 00:01 (33/124): perl-Digest-1.20-511.el10.noarch.rpm 194 kB/s | 26 kB 00:00 (34/124): perl-Digest-MD5-2.59-6.el10.aarch64.r 278 kB/s | 37 kB 00:00 (35/124): perl-Exporter-5.78-511.el10.noarch.rp 240 kB/s | 32 kB 00:00 (36/124): openssh-clients-9.9p1-26.el10.aarch64 1.0 MB/s | 744 kB 00:00 (37/124): perl-File-Temp-0.231.100-512.el10.noa 453 kB/s | 60 kB 00:00 (38/124): perl-Getopt-Long-2.58-3.el10.noarch.r 485 kB/s | 65 kB 00:00 (39/124): perl-HTTP-Tiny-0.088-512.el10.noarch. 426 kB/s | 57 kB 00:00 (40/124): perl-IO-Socket-IP-0.42-512.el10.noarc 322 kB/s | 43 kB 00:00 (41/124): perl-MIME-Base64-3.16-511.el10.aarch6 203 kB/s | 31 kB 00:00 (42/124): perl-IO-Socket-SSL-2.085-3.el10.noarc 685 kB/s | 227 kB 00:00 (43/124): perl-Mozilla-CA-20231213-5.el10.noarc 112 kB/s | 15 kB 00:00 (44/124): perl-PathTools-3.91-512.el10.aarch64. 427 kB/s | 85 kB 00:00 (45/124): perl-Pod-Escapes-1.07-511.el10.noarch 156 kB/s | 21 kB 00:00 (46/124): perl-Encode-3.21-511.el10.aarch64.rpm 977 kB/s | 1.1 MB 00:01 (47/124): perl-Pod-Perldoc-3.28.01-512.el10.noa 424 kB/s | 84 kB 00:00 (48/124): perl-Pod-Usage-2.03-511.el10.noarch.r 308 kB/s | 41 kB 00:00 (49/124): perl-Pod-Simple-3.45-511.el10.noarch. 825 kB/s | 218 kB 00:00 (50/124): perl-Socket-2.038-511.el10.aarch64.rp 424 kB/s | 56 kB 00:00 (51/124): perl-Storable-3.32-511.el10.aarch64.r 492 kB/s | 98 kB 00:00 (52/124): perl-Term-ANSIColor-5.01-512.el10.noa 366 kB/s | 49 kB 00:00 (53/124): perl-Scalar-List-Utils-1.63-511.el10. 215 kB/s | 73 kB 00:00 (54/124): perl-Term-Cap-1.18-511.el10.noarch.rp 174 kB/s | 23 kB 00:00 (55/124): perl-Text-ParseWords-3.31-511.el10.no 130 kB/s | 17 kB 00:00 (56/124): perl-Text-Tabs+Wrap-2024.001-511.el10 171 kB/s | 23 kB 00:00 (57/124): perl-Time-Local-1.350-511.el10.noarch 267 kB/s | 35 kB 00:00 (58/124): perl-constant-1.33-512.el10.noarch.rp 179 kB/s | 24 kB 00:00 (59/124): perl-URI-5.27-3.el10.noarch.rpm 673 kB/s | 134 kB 00:00 (60/124): perl-libnet-3.15-512.el10.noarch.rpm 639 kB/s | 127 kB 00:00 (61/124): perl-parent-0.241-512.el10.noarch.rpm 120 kB/s | 16 kB 00:00 (62/124): perl-podlators-5.01-511.el10.noarch.r 623 kB/s | 124 kB 00:00 (63/124): python3-3.12.12-6.el10.aarch64.rpm 208 kB/s | 28 kB 00:00 (64/124): tzdata-2026a-1.el10.noarch.rpm 1.0 MB/s | 905 kB 00:00 (65/124): vim-filesystem-9.1.083-10.el10.noarch 98 kB/s | 15 kB 00:00 (66/124): annobin-docs-13.06-1.el10.noarch.rpm 606 kB/s | 87 kB 00:00 (67/124): annobin-plugin-gcc-13.06-1.el10.aarch 6.9 MB/s | 683 kB 00:00 (68/124): python3-pip-wheel-23.3.2-7.el10.noarc 1.1 MB/s | 1.5 MB 00:01 (69/124): cmake-data-3.31.8-1.el10.noarch.rpm 9.9 MB/s | 2.7 MB 00:00 (70/124): cmake-filesystem-3.31.8-1.el10.aarch6 296 kB/s | 21 kB 00:00 (71/124): cmake-rpm-macros-3.31.8-1.el10.noarch 411 kB/s | 12 kB 00:00 (72/124): cmake-3.31.8-1.el10.aarch64.rpm 17 MB/s | 8.2 MB 00:00 (73/124): cpp-14.3.1-4.4.el10.aarch64.rpm 18 MB/s | 11 MB 00:00 (74/124): gcc-14.3.1-4.4.el10.aarch64.rpm 20 MB/s | 35 MB 00:01 (75/124): gcc-plugin-annobin-14.3.1-4.4.el10.aa 683 kB/s | 62 kB 00:00 (76/124): git-2.52.0-1.el10.aarch64.rpm 457 kB/s | 40 kB 00:00 (77/124): gcc-c++-14.3.1-4.4.el10.aarch64.rpm 10 MB/s | 14 MB 00:01 (78/124): git-core-doc-2.52.0-1.el10.noarch.rpm 12 MB/s | 3.2 MB 00:00 (79/124): git-core-2.52.0-1.el10.aarch64.rpm 13 MB/s | 5.2 MB 00:00 (80/124): glibc-devel-2.39-117.el10.aarch64.rpm 5.0 MB/s | 579 kB 00:00 (81/124): infiniband-diags-61.0-1.el10.aarch64. 2.2 MB/s | 341 kB 00:00 (82/124): kernel-headers-6.12.0-222.el10.aarch6 7.4 MB/s | 2.1 MB 00:00 (83/124): libasan-14.3.1-4.4.el10.aarch64.rpm 3.2 MB/s | 525 kB 00:00 (84/124): libmpc-1.3.1-7.el10.aarch64.rpm 1.2 MB/s | 73 kB 00:00 (85/124): libubsan-14.3.1-4.4.el10.aarch64.rpm 3.3 MB/s | 231 kB 00:00 (86/124): libuv-1.51.0-1.el10.aarch64.rpm 2.1 MB/s | 261 kB 00:00 (87/124): libuv-devel-1.51.0-1.el10.aarch64.rpm 411 kB/s | 42 kB 00:00 (88/124): libstdc++-devel-14.3.1-4.4.el10.aarch 7.0 MB/s | 2.8 MB 00:00 (89/124): libuv-static-1.51.0-1.el10.aarch64.rp 1.1 MB/s | 111 kB 00:00 (90/124): perl-AutoLoader-5.74-514.el10.noarch. 592 kB/s | 22 kB 00:00 (91/124): libxcrypt-devel-4.4.36-10.el10.aarch6 423 kB/s | 30 kB 00:00 (92/124): perl-Class-Struct-0.68-514.el10.noarc 403 kB/s | 23 kB 00:00 (93/124): perl-B-1.89-514.el10.aarch64.rpm 1.8 MB/s | 179 kB 00:00 (94/124): perl-DynaLoader-1.56-514.el10.aarch64 643 kB/s | 27 kB 00:00 (95/124): perl-Error-0.17029-18.el10.noarch.rpm 1.4 MB/s | 42 kB 00:00 (96/124): perl-Errno-1.38-514.el10.aarch64.rpm 422 kB/s | 16 kB 00:00 (97/124): perl-File-Basename-2.86-514.el10.noar 676 kB/s | 18 kB 00:00 (98/124): perl-Fcntl-1.18-514.el10.aarch64.rpm 910 kB/s | 30 kB 00:00 (99/124): perl-File-Path-2.18-512.el10.noarch.r 3.5 MB/s | 35 kB 00:00 (100/124): perl-File-stat-1.14-514.el10.noarch. 1.7 MB/s | 18 kB 00:00 (101/124): perl-FileHandle-2.05-514.el10.noarch 578 kB/s | 16 kB 00:00 (102/124): perl-Getopt-Std-1.14-514.el10.noarch 543 kB/s | 16 kB 00:00 (103/124): perl-Git-2.52.0-1.el10.noarch.rpm 1.3 MB/s | 37 kB 00:00 (104/124): perl-IPC-Open3-1.22-514.el10.noarch. 473 kB/s | 23 kB 00:00 (105/124): perl-IO-1.55-514.el10.aarch64.rpm 767 kB/s | 81 kB 00:00 (106/124): perl-POSIX-2.20-514.el10.aarch64.rpm 626 kB/s | 98 kB 00:00 (107/124): perl-SelectSaver-1.02-514.el10.noarc 221 kB/s | 12 kB 00:00 (108/124): perl-Net-SSLeay-1.94-9.el10.aarch64. 1.5 MB/s | 377 kB 00:00 (109/124): perl-Symbol-1.09-514.el10.noarch.rpm 1.2 MB/s | 15 kB 00:00 (110/124): perl-TermReadKey-2.38-24.el10.aarch6 1.0 MB/s | 37 kB 00:00 (111/124): perl-base-2.27-514.el10.noarch.rpm 610 kB/s | 17 kB 00:00 (112/124): perl-if-0.61.000-514.el10.noarch.rpm 278 kB/s | 15 kB 00:00 (113/124): perl-interpreter-5.40.2-514.el10.aar 1.0 MB/s | 73 kB 00:00 (114/124): perl-lib-0.65-514.el10.aarch64.rpm 290 kB/s | 16 kB 00:00 (115/124): perl-locale-1.12-514.el10.noarch.rpm 257 kB/s | 14 kB 00:00 (116/124): perl-mro-1.29-514.el10.aarch64.rpm 373 kB/s | 30 kB 00:00 (117/124): perl-overload-1.37-514.el10.noarch.r 475 kB/s | 46 kB 00:00 (118/124): perl-overloading-0.02-514.el10.noarc 157 kB/s | 14 kB 00:00 (119/124): perl-vars-1.05-514.el10.noarch.rpm 133 kB/s | 14 kB 00:00 (120/124): perl-libs-5.40.2-514.el10.aarch64.rp 2.5 MB/s | 2.3 MB 00:00 (121/124): rdma-core-devel-61.0-1.el10.aarch64. 1.0 MB/s | 491 kB 00:00 (122/124): hiredis-devel-1.2.0-5.el10_0.aarch64 174 kB/s | 50 kB 00:00 (123/124): hiredis-1.2.0-5.el10_0.aarch64.rpm 151 kB/s | 49 kB 00:00 (124/124): python3-libs-3.12.12-6.el10.aarch64. 1.0 MB/s | 9.3 MB 00:09 -------------------------------------------------------------------------------- Total 31 MB/s | 482 MB 00:15 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : libmpc-1.3.1-7.el10.aarch64 1/124 Installing : cmake-filesystem-3.31.8-1.el10.aarch64 2/124 Installing : expat-2.7.3-1.el10.aarch64 3/124 Installing : libuv-1:1.51.0-1.el10.aarch64 4/124 Installing : make-1:4.4.1-9.el10.aarch64 5/124 Installing : libnl3-3.11.0-1.el10.aarch64 6/124 Installing : libibverbs-61.0-1.el10.aarch64 7/124 Installing : libibumad-61.0-1.el10.aarch64 8/124 Installing : librdmacm-61.0-1.el10.aarch64 9/124 Installing : libuv-static-1:1.51.0-1.el10.aarch64 10/124 Installing : libuv-devel-1:1.51.0-1.el10.aarch64 11/124 Installing : cuda-gcc-13-13.3.1-4.el10.aarch64 12/124 Installing : cpp-14.3.1-4.4.el10.aarch64 13/124 Installing : hiredis-1.2.0-5.el10_0.aarch64 14/124 Installing : libubsan-14.3.1-4.4.el10.aarch64 15/124 Installing : libstdc++-devel-14.3.1-4.4.el10.aarch64 16/124 Installing : libasan-14.3.1-4.4.el10.aarch64 17/124 Installing : kernel-headers-6.12.0-222.el10.aarch64 18/124 Installing : libxcrypt-devel-4.4.36-10.el10.aarch64 19/124 Installing : glibc-devel-2.39-117.el10.aarch64 20/124 Installing : annobin-docs-13.06-1.el10.noarch 21/124 Installing : vim-filesystem-2:9.1.083-10.el10.noarch 22/124 Installing : tzdata-2026a-1.el10.noarch 23/124 Installing : python3-pip-wheel-23.3.2-7.el10.noarch 24/124 Installing : openssh-9.9p1-26.el10.aarch64 25/124 Installing : ncurses-6.4-15.20240127.el10.aarch64 26/124 Installing : mpdecimal-2.5.1-12.el10.aarch64 27/124 Installing : python3-3.12.12-6.el10.aarch64 28/124 Installing : python3-libs-3.12.12-6.el10.aarch64 29/124 Installing : cmake-rpm-macros-3.31.8-1.el10.noarch 30/124 Installing : libedit-3.1-52.20230828cvs.el10.aarch64 31/124 Installing : openssh-clients-9.9p1-26.el10.aarch64 32/124 Running scriptlet: openssh-clients-9.9p1-26.el10.aarch64 32/124 Installing : libatomic-14.3.1-4.4.el10.aarch64 33/124 Installing : gcc-14.3.1-4.4.el10.aarch64 34/124 Running scriptlet: gcc-14.3.1-4.4.el10.aarch64 34/124 Installing : gcc-c++-14.3.1-4.4.el10.aarch64 35/124 Installing : less-661-3.el10.aarch64 36/124 Installing : git-core-2.52.0-1.el10.aarch64 37/124 Installing : git-core-doc-2.52.0-1.el10.noarch 38/124 Running scriptlet: groff-base-1.23.0-10.el10.aarch64 39/124 Installing : groff-base-1.23.0-10.el10.aarch64 39/124 Running scriptlet: groff-base-1.23.0-10.el10.aarch64 39/124 Installing : perl-Digest-1.20-511.el10.noarch 40/124 Installing : perl-Digest-MD5-2.59-6.el10.aarch64 41/124 Installing : perl-B-1.89-514.el10.aarch64 42/124 Installing : perl-FileHandle-2.05-514.el10.noarch 43/124 Installing : perl-Data-Dumper-2.189-512.el10.aarch64 44/124 Installing : perl-libnet-3.15-512.el10.noarch 45/124 Installing : perl-AutoLoader-5.74-514.el10.noarch 46/124 Installing : perl-URI-5.27-3.el10.noarch 47/124 Installing : perl-Text-Tabs+Wrap-2024.001-511.el10.noarch 48/124 Installing : perl-Time-Local-2:1.350-511.el10.noarch 49/124 Installing : perl-Mozilla-CA-20231213-5.el10.noarch 50/124 Installing : perl-if-0.61.000-514.el10.noarch 51/124 Installing : perl-locale-1.12-514.el10.noarch 52/124 Installing : perl-IO-Socket-IP-0.42-512.el10.noarch 53/124 Installing : perl-Pod-Escapes-1:1.07-511.el10.noarch 54/124 Installing : perl-File-Path-2.18-512.el10.noarch 55/124 Installing : perl-IO-Socket-SSL-2.085-3.el10.noarch 56/124 Installing : perl-Net-SSLeay-1.94-9.el10.aarch64 57/124 Installing : perl-Term-ANSIColor-5.01-512.el10.noarch 58/124 Installing : perl-Class-Struct-0.68-514.el10.noarch 59/124 Installing : perl-POSIX-2.20-514.el10.aarch64 60/124 Installing : perl-IPC-Open3-1.22-514.el10.noarch 61/124 Installing : perl-Term-Cap-1.18-511.el10.noarch 62/124 Installing : perl-File-Temp-1:0.231.100-512.el10.noarch 63/124 Installing : perl-HTTP-Tiny-0.088-512.el10.noarch 64/124 Installing : perl-Pod-Simple-1:3.45-511.el10.noarch 65/124 Installing : perl-Socket-4:2.038-511.el10.aarch64 66/124 Installing : perl-SelectSaver-1.02-514.el10.noarch 67/124 Installing : perl-Symbol-1.09-514.el10.noarch 68/124 Installing : perl-File-stat-1.14-514.el10.noarch 69/124 Installing : perl-podlators-1:5.01-511.el10.noarch 70/124 Installing : perl-Pod-Perldoc-3.28.01-512.el10.noarch 71/124 Installing : perl-Text-ParseWords-3.31-511.el10.noarch 72/124 Installing : perl-Fcntl-1.18-514.el10.aarch64 73/124 Installing : perl-base-2.27-514.el10.noarch 74/124 Installing : perl-mro-1.29-514.el10.aarch64 75/124 Installing : perl-IO-1.55-514.el10.aarch64 76/124 Installing : perl-overloading-0.02-514.el10.noarch 77/124 Installing : perl-Pod-Usage-4:2.03-511.el10.noarch 78/124 Installing : perl-MIME-Base64-3.16-511.el10.aarch64 79/124 Installing : perl-Scalar-List-Utils-5:1.63-511.el10.aarch64 80/124 Installing : perl-constant-1.33-512.el10.noarch 81/124 Installing : perl-parent-1:0.241-512.el10.noarch 82/124 Installing : perl-Errno-1.38-514.el10.aarch64 83/124 Installing : perl-File-Basename-2.86-514.el10.noarch 84/124 Installing : perl-Getopt-Std-1.14-514.el10.noarch 85/124 Installing : perl-Storable-1:3.32-511.el10.aarch64 86/124 Installing : perl-overload-1.37-514.el10.noarch 87/124 Installing : perl-vars-1.05-514.el10.noarch 88/124 Installing : perl-Getopt-Long-1:2.58-3.el10.noarch 89/124 Installing : perl-Carp-1.54-511.el10.noarch 90/124 Installing : perl-Exporter-5.78-511.el10.noarch 91/124 Installing : perl-PathTools-3.91-512.el10.aarch64 92/124 Installing : perl-DynaLoader-1.56-514.el10.aarch64 93/124 Installing : perl-Encode-4:3.21-511.el10.aarch64 94/124 Installing : perl-libs-4:5.40.2-514.el10.aarch64 95/124 Installing : perl-interpreter-4:5.40.2-514.el10.aarch64 96/124 Installing : infiniband-diags-61.0-1.el10.aarch64 97/124 Installing : perl-Error-1:0.17029-18.el10.noarch 98/124 Installing : perl-TermReadKey-2.38-24.el10.aarch64 99/124 Installing : perl-lib-0.65-514.el10.aarch64 100/124 Installing : perl-Git-2.52.0-1.el10.noarch 101/124 Installing : git-2.52.0-1.el10.aarch64 102/124 Installing : emacs-filesystem-1:29.4-12.el10.noarch 103/124 Installing : cmake-3.31.8-1.el10.aarch64 104/124 Installing : cmake-data-3.31.8-1.el10.noarch 105/124 Installing : libnvvm-13-2-13.2.78-1.aarch64 106/124 Installing : libnvptxcompiler-13-2-13.2.78-1.aarch64 107/124 Installing : libnccl-2.30.3-1+cuda13.2.aarch64 108/124 Running scriptlet: libnccl-2.30.3-1+cuda13.2.aarch64 108/124 Installing : cuda-culibos-devel-13-2-13.2.75-1.aarch64 109/124 Installing : cuda-crt-13-2-13.2.78-1.aarch64 110/124 Installing : cuda-cccl-13-2-13.2.75-1.aarch64 111/124 Installing : cuda-toolkit-config-common-13.2.75-1.noarch 112/124 Installing : cuda-toolkit-13-config-common-13.2.75-1.noarch 113/124 Installing : cuda-toolkit-13-2-config-common-13.2.75-1.noarch 114/124 Installing : cuda-cudart-13-2-13.2.75-1.aarch64 115/124 Running scriptlet: cuda-cudart-13-2-13.2.75-1.aarch64 115/124 Installing : cuda-cudart-devel-13-2-13.2.75-1.aarch64 116/124 Installing : cuda-nvcc-13-2-13.2.78-1.aarch64 117/124 Installing : libnccl-devel-2.30.3-1+cuda13.2.aarch64 118/124 Installing : rdma-core-devel-61.0-1.el10.aarch64 119/124 Installing : annobin-plugin-gcc-13.06-1.el10.aarch64 120/124 Running scriptlet: annobin-plugin-gcc-13.06-1.el10.aarch64 120/124 Installing : gcc-plugin-annobin-14.3.1-4.4.el10.aarch64 121/124 Running scriptlet: gcc-plugin-annobin-14.3.1-4.4.el10.aarch64 121/124 Installing : hiredis-devel-1.2.0-5.el10_0.aarch64 122/124 Installing : cuda-gcc-13-c++-13.3.1-4.el10.aarch64 123/124 Installing : cuda-nvml-devel-13-2-13.2.82-1.aarch64 124/124 Running scriptlet: cuda-toolkit-13-2-config-common-13.2.75-1.noarch 124/124 Running scriptlet: cuda-nvml-devel-13-2-13.2.82-1.aarch64 124/124 Installed: annobin-docs-13.06-1.el10.noarch annobin-plugin-gcc-13.06-1.el10.aarch64 cmake-3.31.8-1.el10.aarch64 cmake-data-3.31.8-1.el10.noarch cmake-filesystem-3.31.8-1.el10.aarch64 cmake-rpm-macros-3.31.8-1.el10.noarch cpp-14.3.1-4.4.el10.aarch64 cuda-cccl-13-2-13.2.75-1.aarch64 cuda-crt-13-2-13.2.78-1.aarch64 cuda-cudart-13-2-13.2.75-1.aarch64 cuda-cudart-devel-13-2-13.2.75-1.aarch64 cuda-culibos-devel-13-2-13.2.75-1.aarch64 cuda-gcc-13-13.3.1-4.el10.aarch64 cuda-gcc-13-c++-13.3.1-4.el10.aarch64 cuda-nvcc-13-2-13.2.78-1.aarch64 cuda-nvml-devel-13-2-13.2.82-1.aarch64 cuda-toolkit-13-2-config-common-13.2.75-1.noarch cuda-toolkit-13-config-common-13.2.75-1.noarch cuda-toolkit-config-common-13.2.75-1.noarch emacs-filesystem-1:29.4-12.el10.noarch expat-2.7.3-1.el10.aarch64 gcc-14.3.1-4.4.el10.aarch64 gcc-c++-14.3.1-4.4.el10.aarch64 gcc-plugin-annobin-14.3.1-4.4.el10.aarch64 git-2.52.0-1.el10.aarch64 git-core-2.52.0-1.el10.aarch64 git-core-doc-2.52.0-1.el10.noarch glibc-devel-2.39-117.el10.aarch64 groff-base-1.23.0-10.el10.aarch64 hiredis-1.2.0-5.el10_0.aarch64 hiredis-devel-1.2.0-5.el10_0.aarch64 infiniband-diags-61.0-1.el10.aarch64 kernel-headers-6.12.0-222.el10.aarch64 less-661-3.el10.aarch64 libasan-14.3.1-4.4.el10.aarch64 libatomic-14.3.1-4.4.el10.aarch64 libedit-3.1-52.20230828cvs.el10.aarch64 libibumad-61.0-1.el10.aarch64 libibverbs-61.0-1.el10.aarch64 libmpc-1.3.1-7.el10.aarch64 libnccl-2.30.3-1+cuda13.2.aarch64 libnccl-devel-2.30.3-1+cuda13.2.aarch64 libnl3-3.11.0-1.el10.aarch64 libnvptxcompiler-13-2-13.2.78-1.aarch64 libnvvm-13-2-13.2.78-1.aarch64 librdmacm-61.0-1.el10.aarch64 libstdc++-devel-14.3.1-4.4.el10.aarch64 libubsan-14.3.1-4.4.el10.aarch64 libuv-1:1.51.0-1.el10.aarch64 libuv-devel-1:1.51.0-1.el10.aarch64 libuv-static-1:1.51.0-1.el10.aarch64 libxcrypt-devel-4.4.36-10.el10.aarch64 make-1:4.4.1-9.el10.aarch64 mpdecimal-2.5.1-12.el10.aarch64 ncurses-6.4-15.20240127.el10.aarch64 openssh-9.9p1-26.el10.aarch64 openssh-clients-9.9p1-26.el10.aarch64 perl-AutoLoader-5.74-514.el10.noarch perl-B-1.89-514.el10.aarch64 perl-Carp-1.54-511.el10.noarch perl-Class-Struct-0.68-514.el10.noarch perl-Data-Dumper-2.189-512.el10.aarch64 perl-Digest-1.20-511.el10.noarch perl-Digest-MD5-2.59-6.el10.aarch64 perl-DynaLoader-1.56-514.el10.aarch64 perl-Encode-4:3.21-511.el10.aarch64 perl-Errno-1.38-514.el10.aarch64 perl-Error-1:0.17029-18.el10.noarch perl-Exporter-5.78-511.el10.noarch perl-Fcntl-1.18-514.el10.aarch64 perl-File-Basename-2.86-514.el10.noarch perl-File-Path-2.18-512.el10.noarch perl-File-Temp-1:0.231.100-512.el10.noarch perl-File-stat-1.14-514.el10.noarch perl-FileHandle-2.05-514.el10.noarch perl-Getopt-Long-1:2.58-3.el10.noarch perl-Getopt-Std-1.14-514.el10.noarch perl-Git-2.52.0-1.el10.noarch perl-HTTP-Tiny-0.088-512.el10.noarch perl-IO-1.55-514.el10.aarch64 perl-IO-Socket-IP-0.42-512.el10.noarch perl-IO-Socket-SSL-2.085-3.el10.noarch perl-IPC-Open3-1.22-514.el10.noarch perl-MIME-Base64-3.16-511.el10.aarch64 perl-Mozilla-CA-20231213-5.el10.noarch perl-Net-SSLeay-1.94-9.el10.aarch64 perl-POSIX-2.20-514.el10.aarch64 perl-PathTools-3.91-512.el10.aarch64 perl-Pod-Escapes-1:1.07-511.el10.noarch perl-Pod-Perldoc-3.28.01-512.el10.noarch perl-Pod-Simple-1:3.45-511.el10.noarch perl-Pod-Usage-4:2.03-511.el10.noarch perl-Scalar-List-Utils-5:1.63-511.el10.aarch64 perl-SelectSaver-1.02-514.el10.noarch perl-Socket-4:2.038-511.el10.aarch64 perl-Storable-1:3.32-511.el10.aarch64 perl-Symbol-1.09-514.el10.noarch perl-Term-ANSIColor-5.01-512.el10.noarch perl-Term-Cap-1.18-511.el10.noarch perl-TermReadKey-2.38-24.el10.aarch64 perl-Text-ParseWords-3.31-511.el10.noarch perl-Text-Tabs+Wrap-2024.001-511.el10.noarch perl-Time-Local-2:1.350-511.el10.noarch perl-URI-5.27-3.el10.noarch perl-base-2.27-514.el10.noarch perl-constant-1.33-512.el10.noarch perl-if-0.61.000-514.el10.noarch perl-interpreter-4:5.40.2-514.el10.aarch64 perl-lib-0.65-514.el10.aarch64 perl-libnet-3.15-512.el10.noarch perl-libs-4:5.40.2-514.el10.aarch64 perl-locale-1.12-514.el10.noarch perl-mro-1.29-514.el10.aarch64 perl-overload-1.37-514.el10.noarch perl-overloading-0.02-514.el10.noarch perl-parent-1:0.241-512.el10.noarch perl-podlators-1:5.01-511.el10.noarch perl-vars-1.05-514.el10.noarch python3-3.12.12-6.el10.aarch64 python3-libs-3.12.12-6.el10.aarch64 python3-pip-wheel-23.3.2-7.el10.noarch rdma-core-devel-61.0-1.el10.aarch64 tzdata-2026a-1.el10.noarch vim-filesystem-2:9.1.083-10.el10.noarch Complete! Building target platforms: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1600992000 Wrote: /builddir/build/SRPMS/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.src.rpm No matches found for the following disable plugin patterns: local, spacewalk, versionlock Copr repository 27 kB/s | 1.5 kB 00:00 Additional repo copr_rezso_CUDA 66 kB/s | 1.5 kB 00:00 Additional repo https_developer_download_nvidia 221 kB/s | 3.9 kB 00:00 Additional repo https_developer_download_nvidia 269 kB/s | 3.9 kB 00:00 CentOS Stream 10 - BaseOS 57 kB/s | 6.8 kB 00:00 CentOS Stream 10 - AppStream 60 kB/s | 6.9 kB 00:00 CentOS Stream 10 - CRB 129 kB/s | 6.7 kB 00:00 CentOS Stream 10 - Extras packages 60 kB/s | 7.4 kB 00:00 Extra Packages for Enterprise Linux 10 - aarch6 120 kB/s | 18 kB 00:00 Package cmake-3.31.8-1.el10.aarch64 is already installed. Package cuda-cudart-devel-13-2-13.2.75-1.aarch64 is already installed. Package cuda-gcc-13-c++-13.3.1-4.el10.aarch64 is already installed. Package cuda-nvcc-13-2-13.2.78-1.aarch64 is already installed. Package cuda-nvml-devel-13-2-13.2.82-1.aarch64 is already installed. Package gcc-c++-14.3.1-4.4.el10.aarch64 is already installed. Package git-2.52.0-1.el10.aarch64 is already installed. Package hiredis-devel-1.2.0-5.el10_0.aarch64 is already installed. Package libnccl-2.30.3-1+cuda13.2.aarch64 is already installed. Package libnccl-devel-2.30.3-1+cuda13.2.aarch64 is already installed. Package libuv-devel-1:1.51.0-1.el10.aarch64 is already installed. Package rdma-core-devel-61.0-1.el10.aarch64 is already installed. Dependencies resolved. Nothing to do. Complete! Finish: build setup for gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.src.rpm Start: rpmbuild gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.src.rpm Building target platforms: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1600992000 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.84wLGm + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf gloo + /usr/bin/mkdir -p gloo + cd gloo + rm -rf /builddir/build/BUILD/gloo-SPECPARTS + /usr/bin/mkdir -p /builddir/build/BUILD/gloo-SPECPARTS + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + git clone --depth 1 -n -b main https://github.com/facebookincubator/gloo.git . Cloning into '.'... + git fetch --depth 1 origin 70dc360272dfc57e3617184c78ff9b06f8cd4757 From https://github.com/facebookincubator/gloo * branch 70dc360272dfc57e3617184c78ff9b06f8cd4757 -> FETCH_HEAD + git reset --hard 70dc360272dfc57e3617184c78ff9b06f8cd4757 HEAD is now at 70dc360 Fix address family mismatch by reusing bound socket (#503) + git log --format=fuller commit 70dc360272dfc57e3617184c78ff9b06f8cd4757 Author: Tristan Rice AuthorDate: Mon Apr 20 20:42:06 2026 -0700 Commit: GitHub CommitDate: Tue Apr 21 03:42:06 2026 +0000 Fix address family mismatch by reusing bound socket (#503) Differential Revision: D101060657 Pull Request resolved: https://github.com/pytorch/gloo/pull/503 + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.E3Qnt2 + umask 022 + cd /builddir/build/BUILD + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd gloo + sed -i 's|30 35|35 80|g' cmake/Cuda.cmake + sed -i 's|-std=c++11|-std=c++17|' CMakeLists.txt + sed -i 's|DESTINATION lib)|DESTINATION lib64)|' CMakeLists.txt + sed -i 's|NAMES libuv.a libuv_a.a|NAMES libuv.so|' cmake/Dependencies.cmake + sed -i '/set_target_properties(uv/,/)/d' cmake/Dependencies.cmake + sed -i 's|/lib)|/lib64)|' gloo/CMakeLists.txt + sed -i 's|add_library(gloo ${GLOO_STATIC_OR_SHARED} ${GLOO_SRCS})|add_library(gloo ${GLOO_STATIC_OR_SHARED} ${GLOO_SRCS})\nset_target_properties(gloo PROPERTIES SOVERSION 1 VERSION 1.0)|' gloo/CMakeLists.txt + sed -i 's|cuda_add_library(gloo_cuda ${GLOO_CUDA_SRCS} ${GLOO_STATIC_OR_SHARED})|cuda_add_library(gloo_cuda ${GLOO_CUDA_SRCS} ${GLOO_STATIC_OR_SHARED})\nset_target_properties(gloo_cuda PROPERTIES SOVERSION 1 VERSION 1.0)|' gloo/CMakeLists.txt + sed -i 's|gloo PRIVATE uv_a|gloo PUBLIC uv|' gloo/CMakeLists.txt + sed -i 's|"${CMAKE_CURRENT_SOURCE_DIR}/gatherv.cc"|"${CMAKE_CURRENT_SOURCE_DIR}/gatherv.cc"\n "${CMAKE_CURRENT_SOURCE_DIR}/math.cc"|' gloo/CMakeLists.txt + sed -i 's|GLOO_USE_AVX ${USE_AVX}|GLOO_USE_AVX 0|g' gloo/CMakeLists.txt + sed -i '/cout.*NR_gettid/d' gloo/transport/tcp/buffer.cc + sed -i '1i #include ' gloo/math.h + sed -i '1i #include ' gloo/types.h + mkdir build + pushd build ~/build/BUILD/gloo/build ~/build/BUILD/gloo + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + /usr/bin/cmake -DCMAKE_C_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_Fortran_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF -DCMAKE_INSTALL_PREFIX:PATH=/usr -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib64 -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DLIB_SUFFIX=64 -DBUILD_SHARED_LIBS:BOOL=ON .. -Wno-dev -G 'Unix Makefiles' -DCMAKE_SKIP_RPATH=ON -DCMAKE_VERBOSE_MAKEFILE=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DUSE_AVX=OFF '-DCMAKE_CXX_FLAGS=-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection ' -DUSE_REDIS=ON -DUSE_RCCL=ON -DUSE_IBVERBS=ON -DUSE_CUDA=ON -DUSE_NCCL=ON -DNVCC_FLAGS_EXTRA=Auto '-DCUDA_ARCH_PTX=7.5;8.6;9.0;12.0' -DCUDA_PROPAGATE_HOST_FLAGS=OFF '-DCUDA_NVCC_FLAGS=-Wno-deprecated-gpu-targets -allow-unsupported-compiler' -DUSE_AVX=ON -DUSE_MPI=OFF -DUSE_LIBUV=ON -DBUILD_TEST=OFF -DBUILD_EXAMPLES=OFF -DBUILD_BENCHMARK=OFF -- The CXX compiler identification is GNU 14.3.1 -- The C compiler identification is GNU 14.3.1 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/g++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/gcc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Gloo build as SHARED library -- Found hiredis: /usr/include/hiredis -- Found ibverbs: /usr/include -- Found PkgConfig: /usr/bin/pkg-config (found version "2.1.0") -- Checking for one of the modules 'libuv>=1.26' -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success -- Found Threads: TRUE -- Found CUDA: /usr/local/cuda (found suitable version "13.2", minimum required is "7.0") -- CUDA detected: 13.2 -- Added CUDA NVCC flags for: compute_75 compute_86 compute_90 compute_120 -- Found NCCL: /usr/include -- Determining NCCL version from the header file: /usr/include/nccl.h -- NCCL_MAJOR_VERSION: 2 -- Found NCCL (include: /usr/include, library: /lib64/libnccl.so) -- GLOO_USE_TORCH_DTYPES : OFF -- Configuring done (1.1s) -- Generating done (0.0s) CMake Warning: Manually-specified variables were not used by the project: CMAKE_CXX_FLAGS_RELEASE CMAKE_C_FLAGS_RELEASE CMAKE_Fortran_FLAGS_RELEASE CMAKE_INSTALL_DO_STRIP INCLUDE_INSTALL_DIR LIB_INSTALL_DIR LIB_SUFFIX SHARE_INSTALL_PREFIX SYSCONF_INSTALL_DIR USE_AVX -- Build files have been written to: /builddir/build/BUILD/gloo/build + make -j4 [ 5%] Building CXX object gloo/CMakeFiles/gloo.dir/allgather.cc.o [ 5%] Building CXX object gloo/CMakeFiles/gloo.dir/allreduce.cc.o [ 5%] Building CXX object gloo/CMakeFiles/gloo.dir/algorithm.cc.o [ 5%] Building CXX object gloo/CMakeFiles/gloo.dir/allgatherv.cc.o In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo/gloo/allgatherv.h:11, from /builddir/build/BUILD/gloo/gloo/allgatherv.cc:9: /builddir/build/BUILD/gloo/gloo/allgatherv.cc: In member function ‘void gloo::AllgathervOptions::setOutput(std::unique_ptr, std::vector, size_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allgatherv.cc:53:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 53 | GLOO_ENFORCE_EQ(elements_2.size(), context->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(elements_2.std::vector::size(), ((std::__shared_ptr_access*)(&((gloo::AllgathervOptions*)this)->gloo::AllgathervOptions::context))->std::__shared_ptr_access::operator->()->gloo::Context::size)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allgatherv.cc:53:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 53 | GLOO_ENFORCE_EQ(elements_2.size(), context->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allgatherv.cc:55:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ(totalElements * elementSize_2, buf->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((((long unsigned int)totalElements) * elementSize_2), buf.std::unique_ptr::operator->()->gloo::transport::UnboundBuffer::size)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allgatherv.cc:55:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ(totalElements * elementSize_2, buf->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allgatherv.cc: In member function ‘void gloo::AllgathervOptions::setOutput(void*, std::vector, size_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allgatherv.cc:66:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(elements_2.size(), context->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(elements_2.std::vector::size(), ((std::__shared_ptr_access*)(&((gloo::AllgathervOptions*)this)->gloo::AllgathervOptions::context))->std::__shared_ptr_access::operator->()->gloo::Context::size)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allgatherv.cc:66:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(elements_2.size(), context->size); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo/gloo/allgather.h:11, from /builddir/build/BUILD/gloo/gloo/allgather.cc:9: /builddir/build/BUILD/gloo/gloo/allgather.cc: In function ‘void gloo::allgather(AllgatherOptions&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allgather.cc:39:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 39 | GLOO_ENFORCE_EQ(out->size, in->size * context->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(out->gloo::transport::UnboundBuffer::size, (((long unsigned int)in->gloo::transport::UnboundBuffer::size) * ((long unsigned int)((int)((const std::__shared_ptr_access*)(& context))->std::__shared_ptr_access::operator->()->gloo::Context::size))))’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allgather.cc:39:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 39 | GLOO_ENFORCE_EQ(out->size, in->size * context->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allgather.cc:41:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 41 | GLOO_ENFORCE_EQ(out->size % context->size, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((((long unsigned int)out->gloo::transport::UnboundBuffer::size) % ((long unsigned int)((int)((const std::__shared_ptr_access*)(& context))->std::__shared_ptr_access::operator->()->gloo::Context::size))), 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allgather.cc:41:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 41 | GLOO_ENFORCE_EQ(out->size % context->size, 0); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo/gloo/allreduce.h:15, from /builddir/build/BUILD/gloo/gloo/allreduce.cc:9: /builddir/build/BUILD/gloo/gloo/allreduce.cc: In function ‘void gloo::{anonymous}::allreduce(const gloo::detail::AllreduceOptionsImpl&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:208:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 208 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:107:3: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 107 | GLOO_ENFORCE_GT(out.size(), 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:208:33: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Greater((& out)->std::vector >::size(), 0)’ 208 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:107:3: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 107 | GLOO_ENFORCE_GT(out.size(), 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc: In function ‘void gloo::{anonymous}::ring(const gloo::detail::AllreduceOptionsImpl&, ReduceRangeFunction, BroadcastRangeFunction)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:214:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 214 | GLOO_ENFORCE_EQ(numSegments % context->size, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((((long unsigned int)numSegments) % ((long unsigned int)((int)((const std::__shared_ptr_access*)(& context))->std::__shared_ptr_access::operator->()->gloo::Context::size))), 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:214:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 214 | GLOO_ENFORCE_EQ(numSegments % context->size, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:215:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 215 | GLOO_ENFORCE_GE(numSegments, context->size * 2); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(numSegments, (((int)((const std::__shared_ptr_access*)(& context))->std::__shared_ptr_access::operator->()->gloo::Context::size) * 2))’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ~~~~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:215:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 215 | GLOO_ENFORCE_GE(numSegments, context->size * 2); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:278:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare] 278 | for (auto i = 0; i < (numSegments - numSegmentsPerRank + 2); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:306:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare] 306 | if (i < (numSegments - numSegmentsPerRank)) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:314:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 314 | if (i < numSegmentsPerRank) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:361:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare] 361 | for (auto i = 0; i < (numSegments - numSegmentsPerRank + 2); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:378:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare] 378 | if (i < (numSegments - numSegmentsPerRank)) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:386:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 386 | if (i < numSegmentsPerRank) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc: In function ‘std::vector gloo::{anonymous}::computeGroupSizePerStep(size_t, size_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:208:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 208 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:399:3: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 399 | GLOO_ENFORCE_GT(n, 1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:208:33: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Greater(n, 1)’ 208 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:399:3: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 399 | GLOO_ENFORCE_GT(n, 1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h: In instantiation of ‘gloo::enforce_detail::EnforceFailMessage gloo::enforce_detail::Equals(const T1&, const T2&) [with T1 = long unsigned int; T2 = int]’: /builddir/build/BUILD/gloo/gloo/allgatherv.cc:53:3: required from here 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:172:28: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 172 | BINARY_COMP_HELPER(Equals, ==) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:167:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 167 | if (x op y) { \ | ^~ /builddir/build/BUILD/gloo/gloo/allreduce.cc: In function ‘void gloo::{anonymous}::bcube(const gloo::detail::AllreduceOptionsImpl&, ReduceRangeFunction, BroadcastRangeFunction)’: /builddir/build/BUILD/gloo/gloo/allreduce.cc:527:15: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 527 | if (src == context->rank) { | ~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:540:15: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 540 | if (dst == context->rank) { | ~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:568:16: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 568 | if (peer == context->rank) { | ~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:585:15: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 585 | if (src == context->rank) { | ~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:615:15: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 615 | if (src == context->rank) { | ~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:637:15: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 637 | if (dst == context->rank) { | ~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:650:16: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 650 | if (peer == context->rank) { | ~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:660:16: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 660 | if (peer == context->rank) { | ~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h: In instantiation of ‘gloo::enforce_detail::EnforceFailMessage gloo::enforce_detail::Equals(const T1&, const T2&) [with T1 = long unsigned int; T2 = int]’: /builddir/build/BUILD/gloo/gloo/allgather.cc:41:5: required from here 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:172:28: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 172 | BINARY_COMP_HELPER(Equals, ==) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:167:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 167 | if (x op y) { \ | ^~ /builddir/build/BUILD/gloo/gloo/common/logging.h: In instantiation of ‘gloo::enforce_detail::EnforceFailMessage gloo::enforce_detail::Greater(const T1&, const T2&) [with T1 = long unsigned int; T2 = int]’: /builddir/build/BUILD/gloo/gloo/allreduce.cc:107:3: required from here 208 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:174:29: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 174 | BINARY_COMP_HELPER(Greater, >) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:167:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 167 | if (x op y) { \ | ^~ /builddir/build/BUILD/gloo/gloo/common/logging.h: In instantiation of ‘gloo::enforce_detail::EnforceFailMessage gloo::enforce_detail::Equals(const T1&, const T2&) [with T1 = long unsigned int; T2 = int]’: /builddir/build/BUILD/gloo/gloo/allreduce.cc:214:3: required from here 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:172:28: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 172 | BINARY_COMP_HELPER(Equals, ==) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:167:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 167 | if (x op y) { \ | ^~ /builddir/build/BUILD/gloo/gloo/common/logging.h: In instantiation of ‘gloo::enforce_detail::EnforceFailMessage gloo::enforce_detail::GreaterEquals(const T1&, const T2&) [with T1 = long unsigned int; T2 = int]’: /builddir/build/BUILD/gloo/gloo/allreduce.cc:215:3: required from here 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ~~~~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:175:35: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 175 | BINARY_COMP_HELPER(GreaterEquals, >=) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:167:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 167 | if (x op y) { \ | ^~ [ 7%] Building CXX object gloo/CMakeFiles/gloo.dir/allreduce_local.cc.o [ 8%] Building CXX object gloo/CMakeFiles/gloo.dir/alltoall.cc.o [ 10%] Building CXX object gloo/CMakeFiles/gloo.dir/alltoallv.cc.o In member function ‘gloo::(anonymous namespace)::bcube(gloo::detail::AllreduceOptionsImpl const&, std::function, std::function)::group::operator=(group&&)’, inlined from ‘std::swap, std::function)::group>(gloo::(anonymous namespace)::bcube(gloo::detail::AllreduceOptionsImpl const&, std::function, std::function)::group&, gloo::(anonymous namespace)::bcube(gloo::detail::AllreduceOptionsImpl const&, std::function, std::function)::group&)std::enable_if, std::function)::group> >, std::is_move_constructible, std::function)::group>, std::is_move_assignable, std::function)::group> >::value, void>::type’ at /usr/include/c++/14/bits/move.h:235:11, inlined from ‘gloo::(anonymous namespace)::bcube(gloo::detail::AllreduceOptionsImpl const&, std::function, std::function)’ at /builddir/build/BUILD/gloo/gloo/allreduce.cc:502:16, inlined from ‘gloo::(anonymous namespace)::allreduce(gloo::detail::AllreduceOptionsImpl const&)’ at /builddir/build/BUILD/gloo/gloo/allreduce.cc:140:12: /builddir/build/BUILD/gloo/gloo/allreduce.cc:442:10: warning: ‘nextGroup’ may be used uninitialized [-Wmaybe-uninitialized] 442 | struct group { | ^~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc: In function ‘gloo::(anonymous namespace)::allreduce(gloo::detail::AllreduceOptionsImpl const&)’: /builddir/build/BUILD/gloo/gloo/allreduce.cc:498:20: note: ‘nextGroup’ declared here 498 | struct group nextGroup; | ^~~~~~~~~ In member function ‘gloo::(anonymous namespace)::bcube(gloo::detail::AllreduceOptionsImpl const&, std::function, std::function)::group::operator=(group&&)’, inlined from ‘std::swap, std::function)::group>(gloo::(anonymous namespace)::bcube(gloo::detail::AllreduceOptionsImpl const&, std::function, std::function)::group&, gloo::(anonymous namespace)::bcube(gloo::detail::AllreduceOptionsImpl const&, std::function, std::function)::group&)std::enable_if, std::function)::group> >, std::is_move_constructible, std::function)::group>, std::is_move_assignable, std::function)::group> >::value, void>::type’ at /usr/include/c++/14/bits/move.h:235:11, inlined from ‘gloo::(anonymous namespace)::bcube(gloo::detail::AllreduceOptionsImpl const&, std::function, std::function)’ at /builddir/build/BUILD/gloo/gloo/allreduce.cc:502:16, inlined from ‘gloo::(anonymous namespace)::allreduce(gloo::detail::AllreduceOptionsImpl const&)’ at /builddir/build/BUILD/gloo/gloo/allreduce.cc:140:12: /builddir/build/BUILD/gloo/gloo/allreduce.cc:442:10: warning: ‘nextGroup.myChunkLength’ may be used uninitialized [-Wmaybe-uninitialized] 442 | struct group { | ^~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc: In function ‘gloo::(anonymous namespace)::allreduce(gloo::detail::AllreduceOptionsImpl const&)’: /builddir/build/BUILD/gloo/gloo/allreduce.cc:498:20: note: ‘nextGroup’ declared here 498 | struct group nextGroup; | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc: In instantiation of ‘void gloo::AllreduceLocal::run() [with T = signed char]’: /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:42:1: required from here 40 | #define INSTANTIATE_TEMPLATE(T) template class AllreduceLocal; | ^~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:30:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 30 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:34:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc: In instantiation of ‘void gloo::AllreduceLocal::run() [with T = unsigned char]’: /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:43:1: required from here 40 | #define INSTANTIATE_TEMPLATE(T) template class AllreduceLocal; | ^~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:30:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 30 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:34:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc: In instantiation of ‘void gloo::AllreduceLocal::run() [with T = int]’: /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:44:1: required from here 40 | #define INSTANTIATE_TEMPLATE(T) template class AllreduceLocal; | ^~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:30:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 30 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:34:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc: In instantiation of ‘void gloo::AllreduceLocal::run() [with T = long int]’: /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:45:1: required from here 40 | #define INSTANTIATE_TEMPLATE(T) template class AllreduceLocal; | ^~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:30:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 30 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:34:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc: In instantiation of ‘void gloo::AllreduceLocal::run() [with T = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:46:1: required from here 40 | #define INSTANTIATE_TEMPLATE(T) template class AllreduceLocal; | ^~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:30:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 30 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:34:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc: In instantiation of ‘void gloo::AllreduceLocal::run() [with T = float]’: /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:47:1: required from here 40 | #define INSTANTIATE_TEMPLATE(T) template class AllreduceLocal; | ^~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:30:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 30 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:34:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc: In instantiation of ‘void gloo::AllreduceLocal::run() [with T = double]’: /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:48:1: required from here 40 | #define INSTANTIATE_TEMPLATE(T) template class AllreduceLocal; | ^~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:30:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 30 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:34:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc: In instantiation of ‘void gloo::AllreduceLocal::run() [with T = gloo::float16]’: /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:49:1: required from here 40 | #define INSTANTIATE_TEMPLATE(T) template class AllreduceLocal; | ^~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:30:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 30 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:34:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc: In instantiation of ‘void gloo::AllreduceLocal::run() [with T = char]’: /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:51:1: required from here 40 | #define INSTANTIATE_TEMPLATE(T) template class AllreduceLocal; | ^~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:30:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 30 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:34:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ [ 11%] Building CXX object gloo/CMakeFiles/gloo.dir/barrier.cc.o In file included from /builddir/build/BUILD/gloo/gloo/alltoallv.h:11, from /builddir/build/BUILD/gloo/gloo/alltoallv.cc:9: /builddir/build/BUILD/gloo/gloo/alltoallv.cc: In member function ‘void gloo::AlltoallvOptions::setInput(std::unique_ptr, std::vector, size_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/alltoallv.cc:52:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 52 | GLOO_ENFORCE_EQ(elementsPerRank.size(), context->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(elementsPerRank.std::vector::size(), ((std::__shared_ptr_access*)(&((gloo::AlltoallvOptions*)this)->gloo::AlltoallvOptions::context))->std::__shared_ptr_access::operator->()->gloo::Context::size)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/alltoallv.cc:52:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 52 | GLOO_ENFORCE_EQ(elementsPerRank.size(), context->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/alltoallv.cc:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(totalElements * elementSize_2, buf->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((((long unsigned int)totalElements) * elementSize_2), buf.std::unique_ptr::operator->()->gloo::transport::UnboundBuffer::size)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/alltoallv.cc:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(totalElements * elementSize_2, buf->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/alltoallv.cc: In member function ‘void gloo::AlltoallvOptions::setInput(void*, std::vector, size_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/alltoallv.cc:71:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 71 | GLOO_ENFORCE_EQ(elementsPerRank.size(), context->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(elementsPerRank.std::vector::size(), ((std::__shared_ptr_access*)(&((gloo::AlltoallvOptions*)this)->gloo::AlltoallvOptions::context))->std::__shared_ptr_access::operator->()->gloo::Context::size)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/alltoallv.cc:71:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 71 | GLOO_ENFORCE_EQ(elementsPerRank.size(), context->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/alltoallv.cc: In member function ‘void gloo::AlltoallvOptions::setOutput(std::unique_ptr, std::vector, size_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/alltoallv.cc:89:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 89 | GLOO_ENFORCE_EQ(elementsPerRank.size(), context->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(elementsPerRank.std::vector::size(), ((std::__shared_ptr_access*)(&((gloo::AlltoallvOptions*)this)->gloo::AlltoallvOptions::context))->std::__shared_ptr_access::operator->()->gloo::Context::size)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/alltoallv.cc:89:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 89 | GLOO_ENFORCE_EQ(elementsPerRank.size(), context->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/alltoallv.cc:97:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 97 | GLOO_ENFORCE_EQ(totalElements * elementSize_2, buf->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((((long unsigned int)totalElements) * elementSize_2), buf.std::unique_ptr::operator->()->gloo::transport::UnboundBuffer::size)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/alltoallv.cc:97:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 97 | GLOO_ENFORCE_EQ(totalElements * elementSize_2, buf->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/alltoallv.cc: In member function ‘void gloo::AlltoallvOptions::setOutput(void*, std::vector, size_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/alltoallv.cc:108:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 108 | GLOO_ENFORCE_EQ(elementsPerRank.size(), context->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(elementsPerRank.std::vector::size(), ((std::__shared_ptr_access*)(&((gloo::AlltoallvOptions*)this)->gloo::AlltoallvOptions::context))->std::__shared_ptr_access::operator->()->gloo::Context::size)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/alltoallv.cc:108:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 108 | GLOO_ENFORCE_EQ(elementsPerRank.size(), context->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h: In instantiation of ‘gloo::enforce_detail::EnforceFailMessage gloo::enforce_detail::Equals(const T1&, const T2&) [with T1 = long unsigned int; T2 = int]’: /builddir/build/BUILD/gloo/gloo/alltoallv.cc:52:3: required from here 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:172:28: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 172 | BINARY_COMP_HELPER(Equals, ==) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:167:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 167 | if (x op y) { \ | ^~ [ 13%] Building CXX object gloo/CMakeFiles/gloo.dir/broadcast.cc.o [ 14%] Building CXX object gloo/CMakeFiles/gloo.dir/context.cc.o /builddir/build/BUILD/gloo/gloo/barrier.cc: In function ‘void gloo::barrier(BarrierOptions&)’: /builddir/build/BUILD/gloo/gloo/barrier.cc:30:24: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 30 | for (size_t d = 1; d < context->size; d <<= 1) { | ~~^~~~~~~~~~~~~~~ [ 16%] Building CXX object gloo/CMakeFiles/gloo.dir/gather.cc.o [ 17%] Building CXX object gloo/CMakeFiles/gloo.dir/gatherv.cc.o /builddir/build/BUILD/gloo/gloo/broadcast.cc: In function ‘void gloo::broadcast(BroadcastOptions&)’: /builddir/build/BUILD/gloo/gloo/broadcast.cc:92:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 92 | for (auto i = 0; i < numSends; i++) { | ~~^~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo/gloo/context.cc:9: /builddir/build/BUILD/gloo/gloo/context.cc: In constructor ‘gloo::Context::Context(int, int, int)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/context.cc:22:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 22 | GLOO_ENFORCE_GE(rank, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(rank, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ~~~~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/context.cc:22:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 22 | GLOO_ENFORCE_GE(rank, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/context.cc:24:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 24 | GLOO_ENFORCE_GE(size, 1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(size, 1)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ~~~~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/context.cc:24:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 24 | GLOO_ENFORCE_GE(size, 1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/context.cc: In member function ‘int gloo::Context::nextSlot(int)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:208:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 208 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/context.cc:46:3: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 46 | GLOO_ENFORCE_GT(numToSkip, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:208:33: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Greater(numToSkip, 0)’ 208 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/context.cc:46:3: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 46 | GLOO_ENFORCE_GT(numToSkip, 0); | ^~~~~~~~~~~~~~~ [ 19%] Building CXX object gloo/CMakeFiles/gloo.dir/math.cc.o In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo/gloo/gatherv.h:11, from /builddir/build/BUILD/gloo/gloo/gatherv.cc:9: /builddir/build/BUILD/gloo/gloo/gatherv.cc: In member function ‘void gloo::GathervOptions::setOutput(std::unique_ptr, std::vector, size_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/gatherv.cc:53:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 53 | GLOO_ENFORCE_EQ(elementsPerRank_2.size(), context->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(elementsPerRank_2.std::vector::size(), ((std::__shared_ptr_access*)(&((gloo::GathervOptions*)this)->gloo::GathervOptions::context))->std::__shared_ptr_access::operator->()->gloo::Context::size)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/gatherv.cc:53:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 53 | GLOO_ENFORCE_EQ(elementsPerRank_2.size(), context->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/gather.cc: In function ‘void gloo::gather(GatherOptions&)’: /builddir/build/BUILD/gloo/gloo/gather.cc:36:26: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 36 | for (size_t i = 0; i < context->size; i++) { | ~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/gather.cc:37:13: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 37 | if (i == context->rank) { | ~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/gather.cc:50:26: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 50 | for (size_t i = 0; i < context->size; i++) { | ~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/gather.cc:51:13: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 51 | if (i == context->rank) { | ~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/gatherv.cc:55:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ(totalElements * elementSize_2, buf->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((((long unsigned int)totalElements) * elementSize_2), buf.std::unique_ptr::operator->()->gloo::transport::UnboundBuffer::size)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/gatherv.cc:55:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ(totalElements * elementSize_2, buf->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/gatherv.cc: In member function ‘void gloo::GathervOptions::setOutput(void*, std::vector, size_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/gatherv.cc:66:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(elementsPerRank_2.size(), context->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(elementsPerRank_2.std::vector::size(), ((std::__shared_ptr_access*)(&((gloo::GathervOptions*)this)->gloo::GathervOptions::context))->std::__shared_ptr_access::operator->()->gloo::Context::size)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/gatherv.cc:66:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(elementsPerRank_2.size(), context->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h: In instantiation of ‘gloo::enforce_detail::EnforceFailMessage gloo::enforce_detail::Equals(const T1&, const T2&) [with T1 = long unsigned int; T2 = int]’: /builddir/build/BUILD/gloo/gloo/gatherv.cc:53:3: required from here 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:172:28: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 172 | BINARY_COMP_HELPER(Equals, ==) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:167:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 167 | if (x op y) { \ | ^~ [ 20%] Building CXX object gloo/CMakeFiles/gloo.dir/reduce.cc.o [ 22%] Building CXX object gloo/CMakeFiles/gloo.dir/scatter.cc.o [ 23%] Building CXX object gloo/CMakeFiles/gloo.dir/types.cc.o [ 25%] Building CXX object gloo/CMakeFiles/gloo.dir/common/logging.cc.o In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo/gloo/reduce.h:14, from /builddir/build/BUILD/gloo/gloo/reduce.cc:9: /builddir/build/BUILD/gloo/gloo/reduce.cc: In function ‘void gloo::reduce(ReduceOptions&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/reduce.cc:50:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 50 | GLOO_ENFORCE_EQ(in->size, opts.elements * opts.elementSize); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(in->gloo::transport::UnboundBuffer::size, (opts.gloo::ReduceOptions::elements * opts.gloo::ReduceOptions::elementSize))’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/reduce.cc:50:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 50 | GLOO_ENFORCE_EQ(in->size, opts.elements * opts.elementSize); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/reduce.cc:51:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 51 | GLOO_ENFORCE_EQ(out->size, opts.elements * opts.elementSize); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(out->gloo::transport::UnboundBuffer::size, (opts.gloo::ReduceOptions::elements * opts.gloo::ReduceOptions::elementSize))’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/reduce.cc:51:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 51 | GLOO_ENFORCE_EQ(out->size, opts.elements * opts.elementSize); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/reduce.cc:118:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 118 | GLOO_ENFORCE_EQ(numSegments % context->size, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((((long unsigned int)numSegments) % ((long unsigned int)((int)((const std::__shared_ptr_access*)(& context))->std::__shared_ptr_access::operator->()->gloo::Context::size))), 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/reduce.cc:118:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 118 | GLOO_ENFORCE_EQ(numSegments % context->size, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/reduce.cc:119:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 119 | GLOO_ENFORCE_GE(numSegments, context->size * 2); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(numSegments, (((int)((const std::__shared_ptr_access*)(& context))->std::__shared_ptr_access::operator->()->gloo::Context::size) * 2))’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ~~~~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/reduce.cc:119:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 119 | GLOO_ENFORCE_GE(numSegments, context->size * 2); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/reduce.cc:171:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 171 | for (auto i = 0; i < numSegments; i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/reduce.cc:187:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 187 | if ((i - 2) < numSegmentsPerRank) { | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/reduce.cc:199:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare] 199 | if (i < (numSegments - 2)) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/reduce.cc:206:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 206 | if (i < numSegmentsPerRank) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/reduce.cc:223:32: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 223 | for (size_t rank = 0; rank < context->size; rank++) { | ~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/reduce.cc:224:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 224 | if (rank == context->rank) { | ~~~~~^~~~~~~~~~~~~~~~ [ 26%] Building CXX object gloo/CMakeFiles/gloo.dir/common/utils.cc.o /builddir/build/BUILD/gloo/gloo/common/logging.h: In instantiation of ‘gloo::enforce_detail::EnforceFailMessage gloo::enforce_detail::Equals(const T1&, const T2&) [with T1 = long unsigned int; T2 = int]’: /builddir/build/BUILD/gloo/gloo/reduce.cc:118:3: required from here 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:172:28: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 172 | BINARY_COMP_HELPER(Equals, ==) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:167:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 167 | if (x op y) { \ | ^~ /builddir/build/BUILD/gloo/gloo/common/logging.h: In instantiation of ‘gloo::enforce_detail::EnforceFailMessage gloo::enforce_detail::GreaterEquals(const T1&, const T2&) [with T1 = long unsigned int; T2 = int]’: /builddir/build/BUILD/gloo/gloo/reduce.cc:119:3: required from here 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ~~~~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:175:35: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 175 | BINARY_COMP_HELPER(GreaterEquals, >=) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:167:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 167 | if (x op y) { \ | ^~ In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo/gloo/scatter.h:14, from /builddir/build/BUILD/gloo/gloo/scatter.cc:9: /builddir/build/BUILD/gloo/gloo/scatter.cc: In function ‘void gloo::scatter(ScatterOptions&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/scatter.cc:31:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 31 | GLOO_ENFORCE_EQ(in.size(), context->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& in)->std::vector >::size(), ((const std::__shared_ptr_access*)(& context))->std::__shared_ptr_access::operator->()->gloo::Context::size)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/scatter.cc:31:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 31 | GLOO_ENFORCE_EQ(in.size(), context->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/scatter.cc:40:26: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 40 | for (size_t i = 0; i < context->size; i++) { | ~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/scatter.cc:41:13: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 41 | if (i == context->rank) { | ~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/scatter.cc:51:26: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 51 | for (size_t i = 0; i < context->size; i++) { | ~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/scatter.cc:52:13: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 52 | if (i == context->rank) { | ~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h: In instantiation of ‘gloo::enforce_detail::EnforceFailMessage gloo::enforce_detail::Equals(const T1&, const T2&) [with T1 = long unsigned int; T2 = int]’: /builddir/build/BUILD/gloo/gloo/scatter.cc:31:5: required from here 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:172:28: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 172 | BINARY_COMP_HELPER(Equals, ==) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:167:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 167 | if (x op y) { \ | ^~ [ 27%] Building CXX object gloo/CMakeFiles/gloo.dir/common/linux.cc.o [ 29%] Building CXX object gloo/CMakeFiles/gloo.dir/rendezvous/context.cc.o [ 30%] Building CXX object gloo/CMakeFiles/gloo.dir/rendezvous/file_store.cc.o [ 32%] Building CXX object gloo/CMakeFiles/gloo.dir/rendezvous/hash_store.cc.o /builddir/build/BUILD/gloo/gloo/common/linux.cc: In function ‘std::vector > gloo::pciDevices(PCIClassMatch)’: /builddir/build/BUILD/gloo/gloo/common/linux.cc:97:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 97 | if (match.value != (pciGetClass(device) & match.mask)) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/common/linux.cc:31: /builddir/build/BUILD/gloo/gloo/common/linux.cc: In function ‘std::string gloo::pciPath(const std::string&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/linux.cc:111:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 111 | GLOO_ENFORCE_NE(rv, -1, strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/linux.cc:111:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 111 | GLOO_ENFORCE_NE(rv, -1, strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:204:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 204 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/linux.cc:112:3: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 112 | GLOO_ENFORCE_LT(rv, buf.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:204:30: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Less(rv, buf.std::array::size())’ 204 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/linux.cc:112:3: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 112 | GLOO_ENFORCE_LT(rv, buf.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/linux.cc: In function ‘int gloo::pciDistance(const std::string&, const std::string&)’: /builddir/build/BUILD/gloo/gloo/common/linux.cc:135:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 135 | if (prefixLength == partsA.size()) { | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/linux.cc:139:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 139 | if (prefixLength == partsB.size()) { | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h: In instantiation of ‘gloo::enforce_detail::EnforceFailMessage gloo::enforce_detail::Less(const T1&, const T2&) [with T1 = long int; T2 = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/common/linux.cc:112:3: required from here 204 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:176:26: warning: comparison of integer expressions of different signedness: ‘const long int’ and ‘const long unsigned int’ [-Wsign-compare] 176 | BINARY_COMP_HELPER(Less, <) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:167:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 167 | if (x op y) { \ | ^~ In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo/gloo/rendezvous/context.h:17, from /builddir/build/BUILD/gloo/gloo/rendezvous/context.cc:9: /builddir/build/BUILD/gloo/gloo/rendezvous/context.cc: In member function ‘std::shared_ptr gloo::rendezvous::ContextFactory::makeContext(std::shared_ptr&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/rendezvous/context.cc:123:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 123 | GLOO_ENFORCE_LE(addressSize, sendData_[i].size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals(addressSize, (&((gloo::rendezvous::ContextFactory*)this)->gloo::rendezvous::ContextFactory::sendData_.std::vector >::operator[](((std::vector >::size_type)i)))->std::vector::size())’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/rendezvous/context.cc:123:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 123 | GLOO_ENFORCE_LE(addressSize, sendData_[i].size()); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/rendezvous/store.h:16, from /builddir/build/BUILD/gloo/gloo/rendezvous/file_store.h:11, from /builddir/build/BUILD/gloo/gloo/rendezvous/file_store.cc:9: /builddir/build/BUILD/gloo/gloo/rendezvous/file_store.cc: In member function ‘std::string gloo::rendezvous::FileStore::realPath(const std::string&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/rendezvous/file_store.cc:47:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 47 | GLOO_ENFORCE_EQ(buf.data(), ret, "realpath: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(buf.std::array::data(), ret)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/rendezvous/file_store.cc:47:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 47 | GLOO_ENFORCE_EQ(buf.data(), ret, "realpath: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/rendezvous/file_store.cc: In member function ‘virtual void gloo::rendezvous::FileStore::set(const std::string&, const std::vector&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/rendezvous/file_store.cc:94:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(rv, 0, "rename: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/rendezvous/file_store.cc:94:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(rv, 0, "rename: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/rendezvous/file_store.cc: In member function ‘virtual std::vector gloo::rendezvous::FileStore::get(const std::string&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:208:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 208 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/rendezvous/file_store.cc:111:3: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 111 | GLOO_ENFORCE_GT(n, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:208:33: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Greater(n, 0)’ 208 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/rendezvous/file_store.cc:111:3: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 111 | GLOO_ENFORCE_GT(n, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/rendezvous/file_store.cc: In member function ‘bool gloo::rendezvous::FileStore::check(const std::vector >&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/rendezvous/file_store.cc:129:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 129 | GLOO_ENFORCE_EQ(errno, ENOENT); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((*(const int*)__errno_location()), 2)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/rendezvous/file_store.cc:129:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 129 | GLOO_ENFORCE_EQ(errno, ENOENT); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h: In instantiation of ‘gloo::enforce_detail::EnforceFailMessage gloo::enforce_detail::Greater(const T1&, const T2&) [with T1 = long unsigned int; T2 = int]’: /builddir/build/BUILD/gloo/gloo/rendezvous/file_store.cc:111:3: required from here 208 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:174:29: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 174 | BINARY_COMP_HELPER(Greater, >) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:167:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 167 | if (x op y) { \ | ^~ [ 33%] Building CXX object gloo/CMakeFiles/gloo.dir/rendezvous/prefix_store.cc.o [ 35%] Building CXX object gloo/CMakeFiles/gloo.dir/rendezvous/store.cc.o [ 36%] Building CXX object gloo/CMakeFiles/gloo.dir/rendezvous/redis_store.cc.o [ 38%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/address.cc.o [ 39%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/buffer.cc.o [ 41%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/context.cc.o [ 42%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/device.cc.o In file included from /builddir/build/BUILD/gloo/gloo/rendezvous/store.h:16, from /builddir/build/BUILD/gloo/gloo/rendezvous/redis_store.h:21, from /builddir/build/BUILD/gloo/gloo/rendezvous/redis_store.cc:9: /builddir/build/BUILD/gloo/gloo/rendezvous/redis_store.cc: In member function ‘virtual void gloo::rendezvous::RedisStore::set(const std::string&, const std::vector&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/rendezvous/redis_store.cc:50:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 50 | GLOO_ENFORCE_EQ(reply->type, REDIS_REPLY_INTEGER); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(reply->redisReply::type, 3)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/rendezvous/redis_store.cc:50:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 50 | GLOO_ENFORCE_EQ(reply->type, REDIS_REPLY_INTEGER); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/rendezvous/redis_store.cc:51:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 51 | GLOO_ENFORCE_EQ(reply->integer, 1, "Key '", key, "' already set"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(reply->redisReply::integer, 1)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/rendezvous/redis_store.cc:51:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 51 | GLOO_ENFORCE_EQ(reply->integer, 1, "Key '", key, "' already set"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/rendezvous/redis_store.cc: In member function ‘virtual std::vector gloo::rendezvous::RedisStore::get(const std::string&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/rendezvous/redis_store.cc:68:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 68 | GLOO_ENFORCE_EQ(reply->type, REDIS_REPLY_STRING); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(reply->redisReply::type, 1)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/rendezvous/redis_store.cc:68:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 68 | GLOO_ENFORCE_EQ(reply->type, REDIS_REPLY_STRING); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/rendezvous/redis_store.cc: In member function ‘bool gloo::rendezvous::RedisStore::check(const std::vector >&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/rendezvous/redis_store.cc:97:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 97 | GLOO_ENFORCE_EQ(reply->type, REDIS_REPLY_INTEGER); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(reply->redisReply::type, 3)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/rendezvous/redis_store.cc:97:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 97 | GLOO_ENFORCE_EQ(reply->type, REDIS_REPLY_INTEGER); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/rendezvous/redis_store.cc:98:33: warning: comparison of integer expressions of different signedness: ‘long long int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 98 | auto result = (reply->integer == keys.size()); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ [ 44%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/pair.cc.o [ 45%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/unbound_buffer.cc.o [ 47%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/address.cc.o [ 48%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/buffer.cc.o [ 50%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/context.cc.o [ 51%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/debug_logger.cc.o In file included from /builddir/build/BUILD/gloo/gloo/transport/tcp/address.cc:16: /builddir/build/BUILD/gloo/gloo/transport/tcp/address.cc: In constructor ‘gloo::transport::tcp::Address::Address(const std::vector&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/address.cc:69:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 69 | GLOO_ENFORCE_EQ(sizeof(impl_), bytes.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(sizeof (((gloo::transport::tcp::Address*)this)->gloo::transport::tcp::Address::impl_), (& bytes)->std::vector::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/address.cc:69:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 69 | GLOO_ENFORCE_EQ(sizeof(impl_), bytes.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/address.cc: In static member function ‘static gloo::transport::tcp::Address gloo::transport::tcp::Address::fromSockName(int)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/address.cc:121:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 121 | GLOO_ENFORCE_NE(rv, -1, "getsockname: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/address.cc:121:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 121 | GLOO_ENFORCE_NE(rv, -1, "getsockname: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/address.cc: In static member function ‘static gloo::transport::tcp::Address gloo::transport::tcp::Address::fromPeerName(int)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/address.cc:131:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 131 | GLOO_ENFORCE_NE(rv, -1, "getpeername: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/address.cc:131:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 131 | GLOO_ENFORCE_NE(rv, -1, "getpeername: ", strerror(errno)); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo/gloo/transport/device.h:14, from /builddir/build/BUILD/gloo/gloo/transport/tcp/device.h:18, from /builddir/build/BUILD/gloo/gloo/transport/tcp/buffer.h:19, from /builddir/build/BUILD/gloo/gloo/transport/tcp/buffer.cc:9: /builddir/build/BUILD/gloo/gloo/transport/tcp/buffer.cc: In member function ‘virtual void gloo::transport::tcp::Buffer::waitSend()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/buffer.cc:91:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 91 | GLOO_ENFORCE_GE(1, sendCompletions_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(1, ((gloo::transport::tcp::Buffer*)this)->gloo::transport::tcp::Buffer::sendCompletions_)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ~~~~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/buffer.cc:91:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 91 | GLOO_ENFORCE_GE(1, sendCompletions_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:208:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 208 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/buffer.cc:103:7: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 103 | GLOO_ENFORCE_GT(sendPending_, 0, "No send to wait for"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:208:33: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Greater, int>(((gloo::transport::tcp::Buffer*)this)->gloo::transport::tcp::Buffer::sendPending_, 0)’ 208 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/buffer.cc:103:7: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 103 | GLOO_ENFORCE_GT(sendPending_, 0, "No send to wait for"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/buffer.cc: In member function ‘virtual void gloo::transport::tcp::Buffer::send(size_t, size_t, size_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/buffer.cc:127:3: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 127 | GLOO_ENFORCE_LE(offset + length, size_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + length), ((gloo::transport::tcp::Buffer*)this)->gloo::transport::tcp::Buffer::gloo::transport::Buffer.gloo::transport::Buffer::size_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/buffer.cc:127:3: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 127 | GLOO_ENFORCE_LE(offset + length, size_); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo/gloo/transport/tcp/context.h:20, from /builddir/build/BUILD/gloo/gloo/transport/tcp/context.cc:9: /builddir/build/BUILD/gloo/gloo/transport/tcp/context.cc: In member function ‘std::vector gloo::transport::tcp::Context::getConnectedPeerRanks() const’: /builddir/build/BUILD/gloo/gloo/transport/tcp/context.cc:221:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 221 | GLOO_ENFORCE(size == pairs_.size()); | ~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:95:11: note: in definition of macro ‘GLOO_ENFORCE’ 95 | if (!(condition)) { \ | ^~~~~~~~~ [ 52%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/device.cc.o /builddir/build/BUILD/gloo/gloo/transport/tcp/context.cc: In member function ‘std::vector gloo::transport::tcp::Context::getUnConnectedPeerRanks() const’: /builddir/build/BUILD/gloo/gloo/transport/tcp/context.cc:232:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 232 | GLOO_ENFORCE(size == pairs_.size()); | ~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:95:11: note: in definition of macro ‘GLOO_ENFORCE’ 95 | if (!(condition)) { \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/context.cc: In constructor ‘gloo::transport::tcp::Rank::Rank(const std::vector&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/context.cc:391:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 391 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((pairIdChunkSz % sizeof (ssize_t)), 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/context.cc:391:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 391 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h: In instantiation of ‘gloo::enforce_detail::EnforceFailMessage gloo::enforce_detail::Equals(const T1&, const T2&) [with T1 = long unsigned int; T2 = int]’: /builddir/build/BUILD/gloo/gloo/transport/tcp/context.cc:391:5: required from here 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:172:28: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 172 | BINARY_COMP_HELPER(Equals, ==) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:167:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 167 | if (x op y) { \ | ^~ [ 54%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/error.cc.o [ 55%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/helpers.cc.o [ 57%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/listener.cc.o In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo/gloo/transport/device.h:14, from /builddir/build/BUILD/gloo/gloo/transport/tcp/device.h:18, from /builddir/build/BUILD/gloo/gloo/transport/tcp/device.cc:9: /builddir/build/BUILD/gloo/gloo/transport/tcp/device.cc: In function ‘void gloo::transport::tcp::lookupAddrForIface(attr&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/device.cc:33:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 33 | GLOO_ENFORCE_NE(rv, -1, strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/device.cc:33:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 33 | GLOO_ENFORCE_NE(rv, -1, strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/device.cc: In function ‘void gloo::transport::tcp::lookupAddrForHostname(attr&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/device.cc:99:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 99 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/device.cc:99:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 99 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/device.cc: In function ‘gloo::transport::tcp::attr gloo::transport::tcp::CreateDeviceAttr(const attr&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/device.cc:154:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 154 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/device.cc:154:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 154 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/device.cc: In function ‘const std::string gloo::transport::tcp::sockaddrToInterfaceName(const attr&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/device.cc:189:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 189 | GLOO_ENFORCE_NE(rv, -1, strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/device.cc:189:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 189 | GLOO_ENFORCE_NE(rv, -1, strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/device.cc: In member function ‘bool gloo::transport::tcp::Device::isInitiator(const gloo::transport::tcp::Address&, const gloo::transport::tcp::Address&) const’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/device.cc:314:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 314 | GLOO_ENFORCE_NE(rv, 0, "Cannot connect to self"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, 0)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/device.cc:314:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 314 | GLOO_ENFORCE_NE(rv, 0, "Cannot connect to self"); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/transport/tcp/device.cc:23: /builddir/build/BUILD/gloo/gloo/transport/tcp/helpers.h: In instantiation of ‘void gloo::transport::tcp::WriteValueOperation::handleEvents(gloo::transport::tcp::Loop&, int) [with T = long int]’: /builddir/build/BUILD/gloo/gloo/transport/tcp/helpers.h:103:8: required from here 103 | void handleEvents(Loop&, int /*events*/) override { | ^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/helpers.h:112:12: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘long unsigned int’ [-Wsign-compare] 112 | if (rv < sizeof(t_)) { | ~~~^~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/transport/tcp/listener.cc:17: /builddir/build/BUILD/gloo/gloo/transport/tcp/helpers.h: In instantiation of ‘void gloo::transport::tcp::ReadValueOperation::handleEvents(gloo::transport::tcp::Loop&, int) [with T = long int]’: /builddir/build/BUILD/gloo/gloo/transport/tcp/helpers.h:45:8: required from here 45 | void handleEvents(Loop&, int /*events*/) override { | ^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/helpers.h:56:12: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘long unsigned int’ [-Wsign-compare] 56 | if (rv < sizeof(t_)) { | ~~~^~~~~~~~~~~~ [ 58%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/loop.cc.o [ 60%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/pair.cc.o [ 61%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/socket.cc.o [ 63%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/unbound_buffer.cc.o In file included from /builddir/build/BUILD/gloo/gloo/transport/tcp/loop.cc:18: /builddir/build/BUILD/gloo/gloo/transport/tcp/loop.cc: In constructor ‘gloo::transport::tcp::Deferrables::Deferrables()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/loop.cc:48:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 48 | GLOO_ENFORCE_NE(rv, -1, "pipe: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/loop.cc:48:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 48 | GLOO_ENFORCE_NE(rv, -1, "pipe: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/loop.cc: In member function ‘void gloo::transport::tcp::Deferrables::defer(function_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/loop.cc:70:7: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 70 | GLOO_ENFORCE_NE(rv, -1, "write: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/loop.cc:70:7: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 70 | GLOO_ENFORCE_NE(rv, -1, "write: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/loop.cc: In member function ‘virtual void gloo::transport::tcp::Deferrables::handleEvents(gloo::transport::tcp::Loop&, int)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/loop.cc:91:7: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 91 | GLOO_ENFORCE_NE(rv, -1, "read: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/loop.cc:91:7: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 91 | GLOO_ENFORCE_NE(rv, -1, "read: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/loop.cc: In constructor ‘gloo::transport::tcp::Loop::Loop()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/loop.cc:105:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 105 | GLOO_ENFORCE_NE(fd_, -1, "epoll_create: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(((gloo::transport::tcp::Loop*)this)->gloo::transport::tcp::Loop::fd_, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/loop.cc:105:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 105 | GLOO_ENFORCE_NE(fd_, -1, "epoll_create: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/loop.cc: In member function ‘void gloo::transport::tcp::Loop::registerDescriptorLocked(std::lock_guard&, int, int, gloo::transport::tcp::Handler*)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/loop.cc:162:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 162 | GLOO_ENFORCE_NE(rv, -1, "epoll_ctl: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/loop.cc:162:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 162 | GLOO_ENFORCE_NE(rv, -1, "epoll_ctl: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/loop.cc: In member function ‘void gloo::transport::tcp::Loop::unregisterDescriptor(int, gloo::transport::tcp::Handler*)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/loop.cc:174:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 174 | GLOO_ENFORCE_NE(rv, -1, "epoll_ctl: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/loop.cc:174:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 174 | GLOO_ENFORCE_NE(rv, -1, "epoll_ctl: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/loop.cc: In member function ‘void gloo::transport::tcp::Loop::run()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/loop.cc:212:5: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 212 | GLOO_ENFORCE_NE(nfds, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(nfds, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/loop.cc:212:5: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 212 | GLOO_ENFORCE_NE(nfds, -1); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.h:31, from /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc:9: /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc: In member function ‘virtual void gloo::transport::tcp::Pair::connect(const std::vector&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc:107:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 107 | GLOO_ENFORCE_EQ(state_, INITIALIZING); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::transport::tcp::Pair*)this)->gloo::transport::tcp::Pair::state_, gloo::transport::tcp::Pair::INITIALIZING)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc:107:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 107 | GLOO_ENFORCE_EQ(state_, INITIALIZING); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc: In function ‘void gloo::transport::tcp::setSocketBlocking(int, bool)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc:179:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 179 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc:179:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 179 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc:186:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 186 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc:186:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 186 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc: In member function ‘ssize_t gloo::transport::tcp::Pair::prepareRead(gloo::transport::tcp::Op&, gloo::NonOwningPtr&, iovec&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc:426:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 426 | GLOO_ENFORCE_LE(op.preamble.roffset + op.preamble.length, op.buf->size_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((op.gloo::transport::tcp::Op::preamble.gloo::transport::tcp::Op::::roffset + op.gloo::transport::tcp::Op::preamble.gloo::transport::tcp::Op::::length), op.gloo::transport::tcp::Op::buf->gloo::transport::tcp::Buffer::gloo::transport::Buffer.gloo::transport::Buffer::size_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc:426:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 426 | GLOO_ENFORCE_LE(op.preamble.roffset + op.preamble.length, op.buf->size_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc: In member function ‘virtual void gloo::transport::tcp::Pair::handleEvents(gloo::transport::tcp::Loop&, int)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc:676:3: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 676 | GLOO_ENFORCE_LE(state_, CONNECTED); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals(((gloo::transport::tcp::Pair*)this)->gloo::transport::tcp::Pair::state_, gloo::transport::tcp::Pair::CONNECTED)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc:676:3: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 676 | GLOO_ENFORCE_LE(state_, CONNECTED); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc: In member function ‘virtual void gloo::transport::tcp::Pair::verifyConnected(std::unique_lock&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc:801:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 801 | GLOO_ENFORCE_GE( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::transport::tcp::Pair*)this)->gloo::transport::tcp::Pair::state_, gloo::transport::tcp::Pair::CONNECTED)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ~~~~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc:801:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 801 | GLOO_ENFORCE_GE( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc: In member function ‘void gloo::transport::tcp::Pair::send(gloo::transport::tcp::Op&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc:868:5: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 868 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc:868:5: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 868 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc:870:5: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 870 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc:870:5: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 870 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc: In member function ‘virtual void gloo::transport::tcp::Pair::send(gloo::transport::UnboundBuffer*, uint64_t, size_t, size_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc:922:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 922 | GLOO_ENFORCE_LE(nbytes, tbuf->size - offset); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals(nbytes, (((long unsigned int)tbuf->gloo::transport::UnboundBuffer::size) - offset))’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc:922:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 922 | GLOO_ENFORCE_LE(nbytes, tbuf->size - offset); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc: In member function ‘virtual void gloo::transport::tcp::Pair::recv(gloo::transport::UnboundBuffer*, uint64_t, size_t, size_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc:956:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 956 | GLOO_ENFORCE_LE(nbytes, tbuf->size - offset); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals(nbytes, (((long unsigned int)tbuf->gloo::transport::UnboundBuffer::size) - offset))’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc:956:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 956 | GLOO_ENFORCE_LE(nbytes, tbuf->size - offset); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc: In member function ‘bool gloo::transport::tcp::Pair::tryRecv(gloo::transport::UnboundBuffer*, uint64_t, size_t, size_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc:986:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 986 | GLOO_ENFORCE_LE(nbytes, tbuf->size - offset); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals(nbytes, (((long unsigned int)tbuf->gloo::transport::UnboundBuffer::size) - offset))’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/pair.cc:986:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 986 | GLOO_ENFORCE_LE(nbytes, tbuf->size - offset); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc:16: /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc: In static member function ‘static std::shared_ptr gloo::transport::tcp::Socket::createForFamily(sa_family_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc:24:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 24 | GLOO_ENFORCE_NE(rv, -1, "socket: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc:24:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 24 | GLOO_ENFORCE_NE(rv, -1, "socket: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc: In member function ‘void gloo::transport::tcp::Socket::reuseAddr(bool)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc:39:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 39 | GLOO_ENFORCE_NE(rv, -1, "setsockopt: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc:39:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 39 | GLOO_ENFORCE_NE(rv, -1, "setsockopt: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc: In member function ‘void gloo::transport::tcp::Socket::noDelay(bool)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc:45:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 45 | GLOO_ENFORCE_NE(rv, -1, "setsockopt: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc:45:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 45 | GLOO_ENFORCE_NE(rv, -1, "setsockopt: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc: In member function ‘void gloo::transport::tcp::Socket::block(bool)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc:50:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 50 | GLOO_ENFORCE_NE(rv, -1, "fcntl: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc:50:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 50 | GLOO_ENFORCE_NE(rv, -1, "fcntl: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc:59:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 59 | GLOO_ENFORCE_NE(rv, -1, "fcntl: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc:59:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 59 | GLOO_ENFORCE_NE(rv, -1, "fcntl: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc: In member function ‘void gloo::transport::tcp::Socket::configureTimeout(int, std::chrono::milliseconds)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc:68:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 68 | GLOO_ENFORCE_NE(rv, -1, "setsockopt: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc:68:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 68 | GLOO_ENFORCE_NE(rv, -1, "setsockopt: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc: In member function ‘void gloo::transport::tcp::Socket::bind(const sockaddr*, socklen_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc:95:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 95 | GLOO_ENFORCE_NE(rv, -1, "bind: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc:95:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 95 | GLOO_ENFORCE_NE(rv, -1, "bind: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc: In member function ‘void gloo::transport::tcp::Socket::listen(int)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc:100:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 100 | GLOO_ENFORCE_NE(rv, -1, "listen: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc:100:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 100 | GLOO_ENFORCE_NE(rv, -1, "listen: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc: In member function ‘void gloo::transport::tcp::Socket::connect(const sockaddr*, socklen_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc:142:9: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 142 | GLOO_ENFORCE_NE(rv, -1, "connect: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/tcp/socket.cc:142:9: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 142 | GLOO_ENFORCE_NE(rv, -1, "connect: ", strerror(errno)); | ^~~~~~~~~~~~~~~ [ 64%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/ibverbs/address.cc.o [ 66%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/ibverbs/buffer.cc.o [ 67%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/ibverbs/context.cc.o In file included from /builddir/build/BUILD/gloo/gloo/transport/ibverbs/address.cc:15: /builddir/build/BUILD/gloo/gloo/transport/ibverbs/address.cc: In constructor ‘gloo::transport::ibverbs::Address::Address(const std::vector&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/address.cc:26:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 26 | GLOO_ENFORCE_EQ(sizeof(addr_), bytes.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(sizeof (((gloo::transport::ibverbs::Address*)this)->gloo::transport::ibverbs::Address::addr_), (& bytes)->std::vector::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/address.cc:26:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 26 | GLOO_ENFORCE_EQ(sizeof(addr_), bytes.size()); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo/gloo/transport/device.h:14, from /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.h:18, from /builddir/build/BUILD/gloo/gloo/transport/ibverbs/buffer.h:20, from /builddir/build/BUILD/gloo/gloo/transport/ibverbs/buffer.cc:9: /builddir/build/BUILD/gloo/gloo/transport/ibverbs/buffer.cc: In member function ‘virtual void gloo::transport::ibverbs::Buffer::waitSend()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:208:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 208 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/buffer.cc:135:7: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 135 | GLOO_ENFORCE_GT(sendPending_, 0, "No send to wait for"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:208:33: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Greater, int>(((gloo::transport::ibverbs::Buffer*)this)->gloo::transport::ibverbs::Buffer::sendPending_, 0)’ 208 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/buffer.cc:135:7: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 135 | GLOO_ENFORCE_GT(sendPending_, 0, "No send to wait for"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:208:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 208 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/buffer.cc:156:7: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 156 | GLOO_ENFORCE_GT(sendPending_, 0, "No send to wait for"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:208:33: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Greater, int>(((gloo::transport::ibverbs::Buffer*)this)->gloo::transport::ibverbs::Buffer::sendPending_, 0)’ 208 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/buffer.cc:156:7: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 156 | GLOO_ENFORCE_GT(sendPending_, 0, "No send to wait for"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/buffer.cc: In member function ‘virtual void gloo::transport::ibverbs::Buffer::send(size_t, size_t, size_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/buffer.cc:188:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 188 | GLOO_ENFORCE_LE(offset + length, size_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + length), ((gloo::transport::ibverbs::Buffer*)this)->gloo::transport::ibverbs::Buffer::gloo::transport::Buffer.gloo::transport::Buffer::size_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/buffer.cc:188:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 188 | GLOO_ENFORCE_LE(offset + length, size_); | ^~~~~~~~~~~~~~~ [ 69%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/ibverbs/device.cc.o [ 70%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/ibverbs/memory_region.cc.o [ 72%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/ibverbs/pair.cc.o In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo/gloo/transport/device.h:14, from /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.h:18, from /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:9: /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc: In constructor ‘gloo::transport::ibverbs::Device::Device(const gloo::transport::ibverbs::attr&, ibv_context*)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:131:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 131 | GLOO_ENFORCE_EQ(rv, 0, "ibv_query_device: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:131:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 131 | GLOO_ENFORCE_EQ(rv, 0, "ibv_query_device: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:135:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ(rv, 0, "ibv_query_port: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:135:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ(rv, 0, "ibv_query_port: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc: In destructor ‘virtual gloo::transport::ibverbs::Device::~Device()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:158:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 158 | GLOO_ENFORCE_EQ(rv, 0, strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:158:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 158 | GLOO_ENFORCE_EQ(rv, 0, strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:161:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 161 | GLOO_ENFORCE_EQ(rv, 0, strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:161:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 161 | GLOO_ENFORCE_EQ(rv, 0, strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:164:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 164 | GLOO_ENFORCE_EQ(rv, 0, strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:164:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 164 | GLOO_ENFORCE_EQ(rv, 0, strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:185:7: warning: ‘throw’ will always call ‘terminate’ [-Wterminate] 185 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 186 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 187 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 188 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 189 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:158:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 158 | GLOO_ENFORCE_EQ(rv, 0, strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:185:7: note: in C++11 destructors default to ‘noexcept’ 185 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 186 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 187 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 188 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 189 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:158:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 158 | GLOO_ENFORCE_EQ(rv, 0, strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:185:7: warning: ‘throw’ will always call ‘terminate’ [-Wterminate] 185 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 186 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 187 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 188 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 189 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:161:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 161 | GLOO_ENFORCE_EQ(rv, 0, strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:185:7: note: in C++11 destructors default to ‘noexcept’ 185 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 186 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 187 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 188 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 189 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:161:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 161 | GLOO_ENFORCE_EQ(rv, 0, strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:185:7: warning: ‘throw’ will always call ‘terminate’ [-Wterminate] 185 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 186 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 187 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 188 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 189 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:164:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 164 | GLOO_ENFORCE_EQ(rv, 0, strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:185:7: note: in C++11 destructors default to ‘noexcept’ 185 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 186 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 187 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 188 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 189 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:164:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 164 | GLOO_ENFORCE_EQ(rv, 0, strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc: In member function ‘void gloo::transport::ibverbs::Device::loop()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:201:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 201 | GLOO_ENFORCE_NE(flags, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(flags, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:201:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 201 | GLOO_ENFORCE_NE(flags, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:204:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 204 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:204:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 204 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:215:5: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 215 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:215:5: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 215 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:224:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(rv, 0, "ibv_get_cq_event"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.cc:224:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(rv, 0, "ibv_get_cq_event"); | ^~~~~~~~~~~~~~~ [ 73%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/ibverbs/remote_key.cc.o In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo/gloo/transport/device.h:14, from /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.h:18, from /builddir/build/BUILD/gloo/gloo/transport/ibverbs/memory_region.h:11, from /builddir/build/BUILD/gloo/gloo/transport/ibverbs/memory_region.cc:9: /builddir/build/BUILD/gloo/gloo/transport/ibverbs/memory_region.cc: In destructor ‘gloo::transport::ibverbs::MemoryRegion::~MemoryRegion()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/memory_region.cc:37:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 37 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/memory_region.cc:37:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 37 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:185:7: warning: ‘throw’ will always call ‘terminate’ [-Wterminate] 185 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 186 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 187 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 188 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 189 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/memory_region.cc:37:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 37 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:185:7: note: in C++11 destructors default to ‘noexcept’ 185 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 186 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 187 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 188 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 189 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/memory_region.cc:37:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 37 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ [ 75%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/ibverbs/unbound_buffer.cc.o In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo/gloo/transport/device.h:14, from /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.h:18, from /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.h:24, from /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:9: /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc: In constructor ‘gloo::transport::ibverbs::Pair::Pair(int, const std::shared_ptr&, std::chrono::milliseconds)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:52:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 52 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:52:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 52 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:81:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 81 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:81:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 81 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:91:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 91 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:91:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 91 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:97:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 97 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:97:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 97 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc: In destructor ‘virtual gloo::transport::ibverbs::Pair::~Pair()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:126:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 126 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:126:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 126 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:129:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 129 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:129:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 129 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:185:7: warning: ‘throw’ will always call ‘terminate’ [-Wterminate] 185 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 186 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 187 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 188 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 189 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:126:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 126 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:185:7: note: in C++11 destructors default to ‘noexcept’ 185 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 186 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 187 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 188 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 189 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:126:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 126 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:185:7: warning: ‘throw’ will always call ‘terminate’ [-Wterminate] 185 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 186 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 187 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 188 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 189 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:129:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 129 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:185:7: note: in C++11 destructors default to ‘noexcept’ 185 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 186 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 187 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 188 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 189 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:129:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 129 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc: In member function ‘virtual void gloo::transport::ibverbs::Pair::connect(const std::vector&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:174:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 174 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:174:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 174 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:191:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 191 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:191:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 191 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc: In member function ‘virtual std::unique_ptr gloo::transport::ibverbs::Pair::createSendBuffer(int, void*, size_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:304:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 304 | GLOO_ENFORCE_EQ(sendCompletionHandlers_.count(slot), 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::transport::ibverbs::Pair*)this)->gloo::transport::ibverbs::Pair::sendCompletionHandlers_.std::map >::count(slot), 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:304:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 304 | GLOO_ENFORCE_EQ(sendCompletionHandlers_.count(slot), 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc: In member function ‘virtual std::unique_ptr gloo::transport::ibverbs::Pair::createRecvBuffer(int, void*, size_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:318:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 318 | GLOO_ENFORCE_EQ(recvCompletionHandlers_.count(slot), 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::transport::ibverbs::Pair*)this)->gloo::transport::ibverbs::Pair::recvCompletionHandlers_.std::map >::count(slot), 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:318:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 318 | GLOO_ENFORCE_EQ(recvCompletionHandlers_.count(slot), 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc: In member function ‘virtual void gloo::transport::ibverbs::Pair::send(gloo::transport::UnboundBuffer*, uint64_t, size_t, size_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:339:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 339 | GLOO_ENFORCE_NE(buf, nullptr); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(buf, nullptr)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:339:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 339 | GLOO_ENFORCE_NE(buf, nullptr); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc: In member function ‘virtual void gloo::transport::ibverbs::Pair::recv(gloo::transport::UnboundBuffer*, uint64_t, size_t, size_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:399:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 399 | GLOO_ENFORCE_NE(buf, nullptr); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(buf, nullptr)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:399:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 399 | GLOO_ENFORCE_NE(buf, nullptr); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc: In member function ‘virtual void gloo::transport::ibverbs::Pair::put(gloo::transport::UnboundBuffer*, const gloo::transport::RemoteKey&, uint64_t, size_t, size_t, size_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:418:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 418 | GLOO_ENFORCE_NE(buf, nullptr); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(buf, nullptr)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:418:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 418 | GLOO_ENFORCE_NE(buf, nullptr); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:421:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 421 | GLOO_ENFORCE_NE(key, nullptr); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(key, nullptr)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:421:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 421 | GLOO_ENFORCE_NE(key, nullptr); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:423:3: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 423 | GLOO_ENFORCE_LE(offset + nbytes, buf->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + nbytes), buf->gloo::transport::ibverbs::UnboundBuffer::gloo::transport::UnboundBuffer.gloo::transport::UnboundBuffer::size)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:423:3: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 423 | GLOO_ENFORCE_LE(offset + nbytes, buf->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:424:3: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 424 | GLOO_ENFORCE_LE(roffset + nbytes, key->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((roffset + nbytes), key->gloo::transport::ibverbs::RemoteKey::gloo::transport::RemoteKey.gloo::transport::RemoteKey::size)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:424:3: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 424 | GLOO_ENFORCE_LE(roffset + nbytes, key->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc: In member function ‘virtual void gloo::transport::ibverbs::Pair::get(gloo::transport::UnboundBuffer*, const gloo::transport::RemoteKey&, uint64_t, size_t, size_t, size_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:480:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 480 | GLOO_ENFORCE_NE(buf, nullptr); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(buf, nullptr)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:480:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 480 | GLOO_ENFORCE_NE(buf, nullptr); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:483:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 483 | GLOO_ENFORCE_NE(key, nullptr); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(key, nullptr)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:483:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 483 | GLOO_ENFORCE_NE(key, nullptr); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:485:3: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 485 | GLOO_ENFORCE_LE(offset + nbytes, buf->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + nbytes), buf->gloo::transport::ibverbs::UnboundBuffer::gloo::transport::UnboundBuffer.gloo::transport::UnboundBuffer::size)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:485:3: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 485 | GLOO_ENFORCE_LE(offset + nbytes, buf->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:486:3: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 486 | GLOO_ENFORCE_LE(roffset + nbytes, key->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((roffset + nbytes), key->gloo::transport::ibverbs::RemoteKey::gloo::transport::RemoteKey.gloo::transport::RemoteKey::size)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:486:3: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 486 | GLOO_ENFORCE_LE(roffset + nbytes, key->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc: In member function ‘void gloo::transport::ibverbs::Pair::handleCompletionEvent()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:558:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 558 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:558:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 558 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc: In member function ‘void gloo::transport::ibverbs::Pair::pollCompletions()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:579:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 579 | GLOO_ENFORCE_GE(nwc, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(nwc, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ~~~~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:579:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 579 | GLOO_ENFORCE_GE(nwc, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:599:25: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::array::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 599 | if (nwc == 0 || nwc < wc.size()) { | ~~~~^~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc: In member function ‘void gloo::transport::ibverbs::Pair::handleCompletion(ibv_wc*)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:620:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 620 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(wc->ibv_wc::status, IBV_WC_SUCCESS)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:620:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 620 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:645:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 645 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(wc->ibv_wc::status, IBV_WC_SUCCESS)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:645:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 645 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:681:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 681 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(wc->ibv_wc::status, IBV_WC_SUCCESS)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:681:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 681 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:717:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 717 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(wc->ibv_wc::status, IBV_WC_SUCCESS)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:717:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 717 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h: In instantiation of ‘gloo::enforce_detail::EnforceFailMessage gloo::enforce_detail::Equals(const T1&, const T2&) [with T1 = long unsigned int; T2 = int]’: /builddir/build/BUILD/gloo/gloo/transport/ibverbs/pair.cc:304:3: required from here 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:172:28: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 172 | BINARY_COMP_HELPER(Equals, ==) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:167:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 167 | if (x op y) { \ | ^~ [ 76%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/uv/address.cc.o In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo/gloo/transport/device.h:14, from /builddir/build/BUILD/gloo/gloo/transport/ibverbs/device.h:18, from /builddir/build/BUILD/gloo/gloo/transport/ibverbs/unbound_buffer.h:12, from /builddir/build/BUILD/gloo/gloo/transport/ibverbs/unbound_buffer.cc:9: /builddir/build/BUILD/gloo/gloo/transport/ibverbs/unbound_buffer.cc: In member function ‘virtual bool gloo::transport::ibverbs::UnboundBuffer::waitSend(int*, std::chrono::milliseconds)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:208:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 208 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/unbound_buffer.cc:166:5: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 166 | GLOO_ENFORCE_GT(sendPending_, 0, "No send to wait for"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:208:33: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Greater(((gloo::transport::ibverbs::UnboundBuffer*)this)->gloo::transport::ibverbs::UnboundBuffer::sendPending_, 0)’ 208 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/unbound_buffer.cc:166:5: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 166 | GLOO_ENFORCE_GT(sendPending_, 0, "No send to wait for"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/unbound_buffer.cc: In member function ‘virtual void gloo::transport::ibverbs::UnboundBuffer::recv(std::vector, uint64_t, size_t, size_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/unbound_buffer.cc:263:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 263 | GLOO_ENFORCE_EQ(srcRanks.size(), 1, "TODO: Only one src rank is supported"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(srcRanks.std::vector::size(), 1)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/ibverbs/unbound_buffer.cc:263:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 263 | GLOO_ENFORCE_EQ(srcRanks.size(), 1, "TODO: Only one src rank is supported"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h: In instantiation of ‘gloo::enforce_detail::EnforceFailMessage gloo::enforce_detail::Equals(const T1&, const T2&) [with T1 = long unsigned int; T2 = int]’: /builddir/build/BUILD/gloo/gloo/transport/ibverbs/unbound_buffer.cc:263:3: required from here 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:172:28: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 172 | BINARY_COMP_HELPER(Equals, ==) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:167:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 167 | if (x op y) { \ | ^~ [ 77%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/uv/device.cc.o In file included from /builddir/build/BUILD/gloo/gloo/transport/uv/address.cc:15: /builddir/build/BUILD/gloo/gloo/transport/uv/address.cc: In constructor ‘gloo::transport::uv::Address::Address(const std::vector&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/uv/address.cc:27:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 27 | GLOO_ENFORCE_EQ(sizeof(impl_), bytes.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(sizeof (((gloo::transport::uv::Address*)this)->gloo::transport::uv::Address::impl_), (& bytes)->std::vector::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/uv/address.cc:27:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 27 | GLOO_ENFORCE_EQ(sizeof(impl_), bytes.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/uv/address.cc: In member function ‘virtual std::string gloo::transport::uv::Address::str() const’: /builddir/build/BUILD/gloo/gloo/transport/uv/address.cc:80:17: warning: comparison of integer expressions of different signedness: ‘const gloo::transport::uv::Address::sequence_type’ {aka ‘const int’} and ‘long unsigned int’ [-Wsign-compare] 80 | if (impl_.seq != SIZE_MAX) { | ^ [ 79%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/uv/context.cc.o [ 80%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/uv/libuv.cc.o /builddir/build/BUILD/gloo/gloo/transport/uv/device.cc: In function ‘bool gloo::transport::uv::{anonymous}::lookupAddrForIface(gloo::transport::uv::attr*)’: /builddir/build/BUILD/gloo/gloo/transport/uv/device.cc:65:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 65 | for (auto i = 0; i < addresses.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo/gloo/transport/device.h:14, from /builddir/build/BUILD/gloo/gloo/transport/uv/device.h:20, from /builddir/build/BUILD/gloo/gloo/transport/uv/device.cc:9: /builddir/build/BUILD/gloo/gloo/transport/uv/device.cc: In function ‘void gloo::transport::uv::{anonymous}::lookupAddrForHostname(gloo::transport::uv::attr&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/uv/device.cc:122:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 122 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/uv/device.cc:122:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 122 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/uv/device.cc: In function ‘std::shared_ptr gloo::transport::uv::CreateDevice(attr)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/uv/device.cc:174:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 174 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/uv/device.cc:174:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 174 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/uv/device.cc: In lambda function: /builddir/build/BUILD/gloo/gloo/transport/uv/device.cc:311:9: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated] 311 | defer([=] { | ^ /builddir/build/BUILD/gloo/gloo/transport/uv/device.cc:311:9: note: add explicit ‘this’ or ‘*this’ capture /builddir/build/BUILD/gloo/gloo/transport/uv/device.cc: In lambda function: /builddir/build/BUILD/gloo/gloo/transport/uv/device.cc:367:9: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated] 367 | defer([=] { | ^ /builddir/build/BUILD/gloo/gloo/transport/uv/device.cc:367:9: note: add explicit ‘this’ or ‘*this’ capture /builddir/build/BUILD/gloo/gloo/transport/uv/device.cc: In lambda function: /builddir/build/BUILD/gloo/gloo/transport/uv/device.cc:465:7: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated] 465 | [=](const libuv::ReadEvent& event, libuv::TCP& handle) { | ^ /builddir/build/BUILD/gloo/gloo/transport/uv/device.cc:465:7: note: add explicit ‘this’ or ‘*this’ capture [ 82%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/uv/pair.cc.o [ 83%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/uv/unbound_buffer.cc.o In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/uv/pair.h:31, from /builddir/build/BUILD/gloo/gloo/transport/uv/pair.cc:9: /builddir/build/BUILD/gloo/gloo/transport/uv/pair.cc: In member function ‘virtual void gloo::transport::uv::Pair::connect(const std::vector&)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/uv/pair.cc:64:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 64 | GLOO_ENFORCE_EQ(state_, INITIALIZED); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::transport::uv::Pair*)this)->gloo::transport::uv::Pair::state_, gloo::transport::uv::Pair::INITIALIZED)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/uv/pair.cc:64:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 64 | GLOO_ENFORCE_EQ(state_, INITIALIZED); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/uv/pair.cc: In member function ‘virtual void gloo::transport::uv::Pair::send(gloo::transport::UnboundBuffer*, uint64_t, size_t, size_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/uv/pair.cc:465:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 465 | GLOO_ENFORCE_LE(nbytes, tbuf->size - offset); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals(nbytes, (((long unsigned int)tbuf->gloo::transport::UnboundBuffer::size) - offset))’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/uv/pair.cc:465:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 465 | GLOO_ENFORCE_LE(nbytes, tbuf->size - offset); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/uv/pair.cc: In member function ‘virtual void gloo::transport::uv::Pair::recv(gloo::transport::UnboundBuffer*, uint64_t, size_t, size_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/uv/pair.cc:499:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 499 | GLOO_ENFORCE_LE(nbytes, tbuf->size - offset); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals(nbytes, (((long unsigned int)tbuf->gloo::transport::UnboundBuffer::size) - offset))’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/uv/pair.cc:499:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 499 | GLOO_ENFORCE_LE(nbytes, tbuf->size - offset); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/uv/pair.cc: In member function ‘bool gloo::transport::uv::Pair::tryRecv(gloo::transport::UnboundBuffer*, uint64_t, size_t, size_t)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/uv/pair.cc:527:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 527 | GLOO_ENFORCE_LE(nbytes, tbuf->size - offset); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals(nbytes, (((long unsigned int)tbuf->gloo::transport::UnboundBuffer::size) - offset))’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/uv/pair.cc:527:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 527 | GLOO_ENFORCE_LE(nbytes, tbuf->size - offset); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/uv/pair.cc: In member function ‘void gloo::transport::uv::Pair::closeWhileHoldingPairLock()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/uv/pair.cc:553:7: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 553 | GLOO_ENFORCE_NE( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:200:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(((gloo::transport::uv::Pair*)this)->gloo::transport::uv::Pair::state_, gloo::transport::uv::Pair::CONNECTING)’ 200 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/uv/pair.cc:553:7: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 553 | GLOO_ENFORCE_NE( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/transport/uv/pair.cc: In lambda function: /builddir/build/BUILD/gloo/gloo/transport/uv/pair.cc:557:22: warning: implicit capture of ‘this’ via ‘[=]’ is deprecated in C++20 [-Wdeprecated] 557 | device_->defer([=] { this->handle_->close(); }); | ^ /builddir/build/BUILD/gloo/gloo/transport/uv/pair.cc:557:22: note: add explicit ‘this’ or ‘*this’ capture [ 85%] Linking CXX shared library libgloo.so [ 85%] Built target gloo [ 89%] Building NVCC (Device) object gloo/CMakeFiles/gloo_cuda.dir/gloo_cuda_generated_cuda.cu.o [ 89%] Building NVCC (Device) object gloo/CMakeFiles/gloo_cuda.dir/nccl/gloo_cuda_generated_nccl.cu.o [ 89%] Building NVCC (Device) object gloo/CMakeFiles/gloo_cuda.dir/gloo_cuda_generated_cuda_private.cu.o [ 95%] Building CXX object gloo/CMakeFiles/gloo_cuda.dir/cuda_allreduce_halving_doubling.cc.o [ 95%] Building CXX object gloo/CMakeFiles/gloo_cuda.dir/cuda_allreduce_bcube.cc.o [ 95%] Building CXX object gloo/CMakeFiles/gloo_cuda.dir/cuda_allreduce_ring.cc.o [ 95%] Building CXX object gloo/CMakeFiles/gloo_cuda.dir/cuda_allreduce_local.cc.o In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo/gloo/algorithm.h:13, from /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.h:11, from /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:9: /builddir/build/BUILD/gloo/gloo/cuda_private.h: In function ‘int gloo::getCurrentGPUID()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:46:3: note: in expansion of macro ‘CUDA_CHECK’ 46 | CUDA_CHECK(cudaGetDevice(&id)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:46:3: note: in expansion of macro ‘CUDA_CHECK’ 46 | CUDA_CHECK(cudaGetDevice(&id)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In function ‘int gloo::getGPUIDForPointer(const void*)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:52:3: note: in expansion of macro ‘CUDA_CHECK’ 52 | CUDA_CHECK(cudaPointerGetAttributes(&attr, ptr)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:52:3: note: in expansion of macro ‘CUDA_CHECK’ 52 | CUDA_CHECK(cudaPointerGetAttributes(&attr, ptr)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In function ‘int gloo::getDeviceCount()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:58:3: note: in expansion of macro ‘CUDA_CHECK’ 58 | CUDA_CHECK(cudaGetDeviceCount(&count)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:58:3: note: in expansion of macro ‘CUDA_CHECK’ 58 | CUDA_CHECK(cudaGetDeviceCount(&count)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In destructor ‘gloo::CudaDeviceGuard::~CudaDeviceGuard()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:107:5: note: in expansion of macro ‘CUDA_CHECK’ 107 | CUDA_CHECK(cudaSetDevice(previous_)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:107:5: note: in expansion of macro ‘CUDA_CHECK’ 107 | CUDA_CHECK(cudaSetDevice(previous_)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In constructor ‘gloo::CudaDeviceScope::CudaDeviceScope(int)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:117:5: note: in expansion of macro ‘CUDA_CHECK’ 117 | CUDA_CHECK(cudaSetDevice(device)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:117:5: note: in expansion of macro ‘CUDA_CHECK’ 117 | CUDA_CHECK(cudaSetDevice(device)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In member function ‘CUstream_st* gloo::CudaDeviceStreams::operator[](int)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:204:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 204 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:159:5: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 159 | GLOO_ENFORCE_LT(i, streams_.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:204:30: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Less(i, ((gloo::CudaDeviceStreams*)this)->gloo::CudaDeviceStreams::streams_.std::vector::size())’ 204 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:159:5: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 159 | GLOO_ENFORCE_LT(i, streams_.size()); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo/gloo/algorithm.h:13, from /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.h:11, from /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:9: /builddir/build/BUILD/gloo/gloo/cuda_private.h: In function ‘int gloo::getCurrentGPUID()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:46:3: note: in expansion of macro ‘CUDA_CHECK’ 46 | CUDA_CHECK(cudaGetDevice(&id)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:46:3: note: in expansion of macro ‘CUDA_CHECK’ 46 | CUDA_CHECK(cudaGetDevice(&id)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In function ‘int gloo::getGPUIDForPointer(const void*)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:52:3: note: in expansion of macro ‘CUDA_CHECK’ 52 | CUDA_CHECK(cudaPointerGetAttributes(&attr, ptr)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:52:3: note: in expansion of macro ‘CUDA_CHECK’ 52 | CUDA_CHECK(cudaPointerGetAttributes(&attr, ptr)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In function ‘int gloo::getDeviceCount()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:58:3: note: in expansion of macro ‘CUDA_CHECK’ 58 | CUDA_CHECK(cudaGetDeviceCount(&count)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:58:3: note: in expansion of macro ‘CUDA_CHECK’ 58 | CUDA_CHECK(cudaGetDeviceCount(&count)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In destructor ‘gloo::CudaDeviceGuard::~CudaDeviceGuard()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:107:5: note: in expansion of macro ‘CUDA_CHECK’ 107 | CUDA_CHECK(cudaSetDevice(previous_)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:107:5: note: in expansion of macro ‘CUDA_CHECK’ 107 | CUDA_CHECK(cudaSetDevice(previous_)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In constructor ‘gloo::CudaDeviceScope::CudaDeviceScope(int)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:117:5: note: in expansion of macro ‘CUDA_CHECK’ 117 | CUDA_CHECK(cudaSetDevice(device)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:117:5: note: in expansion of macro ‘CUDA_CHECK’ 117 | CUDA_CHECK(cudaSetDevice(device)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In member function ‘CUstream_st* gloo::CudaDeviceStreams::operator[](int)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:204:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 204 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:159:5: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 159 | GLOO_ENFORCE_LT(i, streams_.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:204:30: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Less(i, ((gloo::CudaDeviceStreams*)this)->gloo::CudaDeviceStreams::streams_.std::vector::size())’ 204 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:159:5: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 159 | GLOO_ENFORCE_LT(i, streams_.size()); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo/gloo/algorithm.h:13, from /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.h:18, from /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:9: /builddir/build/BUILD/gloo/gloo/cuda_private.h: In function ‘int gloo::getCurrentGPUID()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:46:3: note: in expansion of macro ‘CUDA_CHECK’ 46 | CUDA_CHECK(cudaGetDevice(&id)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:46:3: note: in expansion of macro ‘CUDA_CHECK’ 46 | CUDA_CHECK(cudaGetDevice(&id)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In function ‘int gloo::getGPUIDForPointer(const void*)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:52:3: note: in expansion of macro ‘CUDA_CHECK’ 52 | CUDA_CHECK(cudaPointerGetAttributes(&attr, ptr)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:52:3: note: in expansion of macro ‘CUDA_CHECK’ 52 | CUDA_CHECK(cudaPointerGetAttributes(&attr, ptr)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In function ‘int gloo::getDeviceCount()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:58:3: note: in expansion of macro ‘CUDA_CHECK’ 58 | CUDA_CHECK(cudaGetDeviceCount(&count)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:58:3: note: in expansion of macro ‘CUDA_CHECK’ 58 | CUDA_CHECK(cudaGetDeviceCount(&count)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In destructor ‘gloo::CudaDeviceGuard::~CudaDeviceGuard()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:107:5: note: in expansion of macro ‘CUDA_CHECK’ 107 | CUDA_CHECK(cudaSetDevice(previous_)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:107:5: note: in expansion of macro ‘CUDA_CHECK’ 107 | CUDA_CHECK(cudaSetDevice(previous_)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In constructor ‘gloo::CudaDeviceScope::CudaDeviceScope(int)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:117:5: note: in expansion of macro ‘CUDA_CHECK’ 117 | CUDA_CHECK(cudaSetDevice(device)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:117:5: note: in expansion of macro ‘CUDA_CHECK’ 117 | CUDA_CHECK(cudaSetDevice(device)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In member function ‘CUstream_st* gloo::CudaDeviceStreams::operator[](int)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:204:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 204 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:159:5: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 159 | GLOO_ENFORCE_LT(i, streams_.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:204:30: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Less(i, ((gloo::CudaDeviceStreams*)this)->gloo::CudaDeviceStreams::streams_.std::vector::size())’ 204 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:159:5: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 159 | GLOO_ENFORCE_LT(i, streams_.size()); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo/gloo/algorithm.h:13, from /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.h:15, from /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:9: /builddir/build/BUILD/gloo/gloo/cuda_private.h: In function ‘int gloo::getCurrentGPUID()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:46:3: note: in expansion of macro ‘CUDA_CHECK’ 46 | CUDA_CHECK(cudaGetDevice(&id)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:46:3: note: in expansion of macro ‘CUDA_CHECK’ 46 | CUDA_CHECK(cudaGetDevice(&id)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In function ‘int gloo::getGPUIDForPointer(const void*)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:52:3: note: in expansion of macro ‘CUDA_CHECK’ 52 | CUDA_CHECK(cudaPointerGetAttributes(&attr, ptr)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:52:3: note: in expansion of macro ‘CUDA_CHECK’ 52 | CUDA_CHECK(cudaPointerGetAttributes(&attr, ptr)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In function ‘int gloo::getDeviceCount()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:58:3: note: in expansion of macro ‘CUDA_CHECK’ 58 | CUDA_CHECK(cudaGetDeviceCount(&count)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:58:3: note: in expansion of macro ‘CUDA_CHECK’ 58 | CUDA_CHECK(cudaGetDeviceCount(&count)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In destructor ‘gloo::CudaDeviceGuard::~CudaDeviceGuard()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:107:5: note: in expansion of macro ‘CUDA_CHECK’ 107 | CUDA_CHECK(cudaSetDevice(previous_)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:107:5: note: in expansion of macro ‘CUDA_CHECK’ 107 | CUDA_CHECK(cudaSetDevice(previous_)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In constructor ‘gloo::CudaDeviceScope::CudaDeviceScope(int)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:117:5: note: in expansion of macro ‘CUDA_CHECK’ 117 | CUDA_CHECK(cudaSetDevice(device)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:117:5: note: in expansion of macro ‘CUDA_CHECK’ 117 | CUDA_CHECK(cudaSetDevice(device)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In member function ‘CUstream_st* gloo::CudaDeviceStreams::operator[](int)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:204:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 204 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:159:5: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 159 | GLOO_ENFORCE_LT(i, streams_.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:204:30: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Less(i, ((gloo::CudaDeviceStreams*)this)->gloo::CudaDeviceStreams::streams_.std::vector::size())’ 204 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:159:5: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 159 | GLOO_ENFORCE_LT(i, streams_.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h: In instantiation of ‘gloo::enforce_detail::EnforceFailMessage gloo::enforce_detail::Less(const T1&, const T2&) [with T1 = int; T2 = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_private.h:159:5: required from here 204 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:176:26: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const long unsigned int’ [-Wsign-compare] 176 | BINARY_COMP_HELPER(Less, <) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:167:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 167 | if (x op y) { \ | ^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc: In instantiation of ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:70:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:34:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc: In instantiation of ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:71:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:34:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc: In instantiation of ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:72:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:34:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc: In instantiation of ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:73:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:34:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc: In instantiation of ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:74:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:34:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc: In instantiation of ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:75:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:34:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h: In instantiation of ‘gloo::enforce_detail::EnforceFailMessage gloo::enforce_detail::Less(const T1&, const T2&) [with T1 = int; T2 = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_private.h:159:5: required from here 204 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:176:26: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const long unsigned int’ [-Wsign-compare] 176 | BINARY_COMP_HELPER(Less, <) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:167:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 167 | if (x op y) { \ | ^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc: In instantiation of ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc: In instantiation of ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:76:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:34:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:34:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc: In instantiation of ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:34:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc: In instantiation of ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:77:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:34:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc: In instantiation of ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:34:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc: In instantiation of ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:34:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc: In instantiation of ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:34:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc: In instantiation of ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:34:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc: In instantiation of ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:34:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc: In instantiation of ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:34:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc: In instantiation of ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:34:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc: In instantiation of ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:34:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc: In instantiation of ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:34:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc: In instantiation of ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:34:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc: In instantiation of ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:34:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc: In instantiation of ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:34:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc: In instantiation of ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:189:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:34:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc: In instantiation of ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:189:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:30:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 30 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:34:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 34 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:70:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:50:28: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char]’ 50 | cudaDeviceBroadcast(streams_, devicePtrs_, devicePtrs_[0], 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:70:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:71:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h: In instantiation of ‘gloo::enforce_detail::EnforceFailMessage gloo::enforce_detail::Less(const T1&, const T2&) [with T1 = int; T2 = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_private.h:159:5: required from here 204 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:176:26: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const long unsigned int’ [-Wsign-compare] 176 | BINARY_COMP_HELPER(Less, <) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:167:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 167 | if (x op y) { \ | ^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = signed char; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:98:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 98 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:128:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 128 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:139:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 139 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:141:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 141 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:148:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 148 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:150:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 150 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:216:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 216 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = signed char; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:268:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 268 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:269:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 269 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:273:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 273 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:288:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 288 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:321:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 321 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:335:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 335 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:350:45: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 350 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:364:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 364 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:50:28: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char]’ 50 | cudaDeviceBroadcast(streams_, devicePtrs_, devicePtrs_[0], 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:71:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:369:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 369 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initBinaryBlocks() [with T = signed char; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:48:18: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘const int’ [-Wsign-compare] 48 | if (offset <= this->context_->rank) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = signed char; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:416:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 416 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:419:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 419 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 422 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:424:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 424 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:428:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 428 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:433:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 433 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:438:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 438 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:441:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 441 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:445:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 445 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:446:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 446 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:450:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 450 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = signed char; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:98:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 98 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:128:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 128 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:139:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 139 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:141:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 141 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/common/logging.h: In instantiation of ‘gloo::enforce_detail::EnforceFailMessage gloo::enforce_detail::Less(const T1&, const T2&) [with T1 = int; T2 = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_private.h:159:5: required from here 204 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:176:26: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const long unsigned int’ [-Wsign-compare] 176 | BINARY_COMP_HELPER(Less, <) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:167:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 167 | if (x op y) { \ | ^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:148:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 148 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:150:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 150 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:216:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 216 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = signed char; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:268:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 268 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:269:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 269 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:273:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 273 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:288:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 288 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:321:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 321 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:335:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 335 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:350:45: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 350 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:364:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 364 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:369:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 369 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initBinaryBlocks() [with T = signed char; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:48:18: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘const int’ [-Wsign-compare] 48 | if (offset <= this->context_->rank) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = signed char; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:416:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 416 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:419:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 419 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 422 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:424:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 424 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:428:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 428 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:433:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 433 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:438:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 438 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:441:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 441 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:445:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 445 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:446:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 446 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:450:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 450 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = signed char; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:69:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 69 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:94:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 94 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = unsigned char; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::run() [with T = signed char; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:136:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 136 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:98:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 98 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:128:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 128 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:139:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 139 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:141:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 141 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:148:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 148 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:150:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 150 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:216:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 216 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:72:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = unsigned char; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:268:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 268 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:269:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 269 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:273:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 273 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::setupNodes() [with T = signed char; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:338:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 338 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:288:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 288 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:321:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 321 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:335:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 335 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:350:45: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 350 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:364:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 364 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:369:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 369 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initBinaryBlocks() [with T = unsigned char; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:48:18: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘const int’ [-Wsign-compare] 48 | if (offset <= this->context_->rank) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = unsigned char; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:416:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 416 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:419:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 419 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 422 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:424:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 424 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:428:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 428 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:433:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 433 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = signed char; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:69:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 69 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:94:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 94 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:438:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 438 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:441:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 441 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:445:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 445 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:446:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 446 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:450:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 450 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/algorithm.h:14: /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = signed char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = signed char; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:27:37: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’ 27 | fn_(CudaReductionFunction::sum) { | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:98:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 98 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::run() [with T = signed char; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:136:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 136 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:128:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 128 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:139:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 139 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:141:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 141 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:148:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 148 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:150:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 150 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:216:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 216 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:268:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 268 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:269:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 269 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:273:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 273 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:288:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 288 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:321:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 321 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::setupNodes() [with T = signed char; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:338:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 338 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:335:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 335 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:350:45: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 350 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:364:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 364 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:369:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 369 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initBinaryBlocks() [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:48:18: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘const int’ [-Wsign-compare] 48 | if (offset <= this->context_->rank) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:416:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 416 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:419:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 419 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 422 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:424:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 424 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:428:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 428 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:433:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 433 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:438:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 438 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:441:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 441 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:139:24: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 139 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:445:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 445 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:446:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 446 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:450:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 450 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = unsigned char; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:69:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 69 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:94:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 94 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:98:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 98 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:128:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 128 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:139:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 139 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::run() [with T = unsigned char; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:136:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 136 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:141:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 141 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:148:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 148 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:150:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 150 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:216:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 216 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:18, from /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:11: /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = signed char]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:154:52: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = signed char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 154 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 155 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = signed char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:268:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 268 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:269:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 269 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:273:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 273 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:288:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 288 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:321:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 321 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:335:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 335 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:350:45: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 350 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:364:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 364 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:369:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 369 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::setupNodes() [with T = unsigned char; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:338:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 338 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initBinaryBlocks() [with T = int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:48:18: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘const int’ [-Wsign-compare] 48 | if (offset <= this->context_->rank) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:416:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 416 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:419:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 419 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 422 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:424:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 424 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:428:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 428 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:69:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 69 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:94:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 94 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:433:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 433 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:438:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 438 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:441:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 441 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:445:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 445 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:446:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 446 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:450:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 450 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:98:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 98 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:128:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 128 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:165:28: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = signed char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 165 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::run() [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:136:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 136 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:139:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 139 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:141:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 141 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:148:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 148 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:150:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 150 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:216:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 216 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:268:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 268 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:269:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 269 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:273:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 273 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:288:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 288 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:321:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 321 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:335:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 335 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:350:45: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 350 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:364:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 364 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:369:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 369 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::setupNodes() [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:338:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 338 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = unsigned char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = unsigned char; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:27:37: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 27 | fn_(CudaReductionFunction::sum) { | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initBinaryBlocks() [with T = int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:48:18: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘const int’ [-Wsign-compare] 48 | if (offset <= this->context_->rank) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:69:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 69 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:94:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 94 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::run() [with T = int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:136:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 136 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:50:28: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int]’ 50 | cudaDeviceBroadcast(streams_, devicePtrs_, devicePtrs_[0], 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:72:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::setupNodes() [with T = int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:338:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 338 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:69:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 69 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:94:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 94 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:139:24: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 139 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::run() [with T = int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:136:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 136 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::setupNodes() [with T = int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:338:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 338 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:73:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:69:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 69 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:94:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 94 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = unsigned char]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:154:52: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = unsigned char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 154 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 155 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::run() [with T = long int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:136:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 136 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::setupNodes() [with T = long int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:338:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 338 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:69:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 69 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:94:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 94 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:416:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 416 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::run() [with T = long int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:136:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 136 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:419:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 419 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 422 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:424:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 424 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:50:28: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int]’ 50 | cudaDeviceBroadcast(streams_, devicePtrs_, devicePtrs_[0], 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:73:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::setupNodes() [with T = long int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:338:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 338 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:428:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 428 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:433:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 433 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:69:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 69 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:94:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 94 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:438:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 438 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::run() [with T = long unsigned int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:136:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 136 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:441:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 441 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:445:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 445 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:446:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 446 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:450:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 450 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::setupNodes() [with T = long unsigned int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:338:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 338 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:69:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 69 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:74:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:94:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 94 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::run() [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:136:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 136 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:98:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 98 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:128:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 128 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:139:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 139 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:141:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 141 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:148:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 148 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:150:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 150 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::setupNodes() [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:338:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 338 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:216:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 216 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = float; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:69:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 69 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:94:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 94 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::run() [with T = float; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:136:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 136 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:50:28: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int]’ 50 | cudaDeviceBroadcast(streams_, devicePtrs_, devicePtrs_[0], 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:74:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::setupNodes() [with T = float; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:338:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 338 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = float; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:69:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 69 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:94:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 94 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::run() [with T = float; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:136:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 136 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = long int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:268:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 268 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::setupNodes() [with T = float; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:338:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 338 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:269:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 269 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:273:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 273 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:288:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 288 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = double; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:69:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 69 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:94:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 94 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::run() [with T = double; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:136:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 136 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:321:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 321 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:335:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 335 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:350:45: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 350 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:364:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 364 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::setupNodes() [with T = double; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:338:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 338 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:369:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 369 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = double; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:69:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 69 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:94:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 94 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::run() [with T = double; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:136:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 136 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initBinaryBlocks() [with T = long int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:48:18: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘const int’ [-Wsign-compare] 48 | if (offset <= this->context_->rank) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::setupNodes() [with T = double; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:338:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 338 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = long int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:416:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 416 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:419:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 419 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 422 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:424:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 424 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:428:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 428 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:433:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 433 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:69:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 69 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:94:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 94 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:438:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 438 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:441:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 441 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:445:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 445 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:446:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 446 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:450:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 450 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::run() [with T = gloo::float16; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:136:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 136 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:98:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 98 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:128:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 128 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:139:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 139 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:141:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 141 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:148:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 148 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:150:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 150 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:216:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 216 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::setupNodes() [with T = gloo::float16; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:338:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 338 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = long int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:268:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 268 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:269:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 269 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:273:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 273 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:288:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 288 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:66:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 66 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:69:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 69 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:321:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 321 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:335:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 335 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:350:45: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 350 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:364:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 364 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:94:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 94 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:369:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 369 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initBinaryBlocks() [with T = long int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:48:18: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘const int’ [-Wsign-compare] 48 | if (offset <= this->context_->rank) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = long int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:416:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 416 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:419:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 419 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 422 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:424:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 424 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:428:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 428 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::run() [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:136:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 136 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:433:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 433 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:438:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 438 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:441:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 441 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:445:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 445 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:446:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 446 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:450:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 450 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::setupNodes() [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:338:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 338 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:98:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 98 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:128:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 128 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:139:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 139 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:141:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 141 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:148:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 148 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:150:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 150 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:216:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 216 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = long unsigned int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:268:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 268 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:269:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 269 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:273:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 273 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:288:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 288 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:321:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 321 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:335:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 335 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:350:45: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 350 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:364:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 364 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:369:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 369 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initBinaryBlocks() [with T = long unsigned int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:48:18: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘const int’ [-Wsign-compare] 48 | if (offset <= this->context_->rank) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = long unsigned int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:416:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 416 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:419:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 419 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 422 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:424:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 424 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:428:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 428 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:433:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 433 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:438:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 438 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:441:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 441 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:445:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 445 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:446:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 446 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:450:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 450 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:98:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 98 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:128:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 128 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:139:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 139 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:141:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 141 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:148:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 148 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:150:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 150 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:216:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 216 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:268:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 268 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:269:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 269 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:273:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 273 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:288:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 288 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:321:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 321 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:335:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 335 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:350:45: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 350 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:364:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 364 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:369:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 369 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initBinaryBlocks() [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:48:18: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘const int’ [-Wsign-compare] 48 | if (offset <= this->context_->rank) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:416:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 416 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:419:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 419 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 422 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:424:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 424 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:428:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 428 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:433:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 433 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:438:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 438 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:441:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 441 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:445:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 445 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:446:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 446 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:450:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 450 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = float; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:98:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 98 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:128:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 128 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:139:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 139 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:141:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 141 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:148:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 148 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:150:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 150 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:216:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 216 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = float; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:268:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 268 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:269:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 269 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:273:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 273 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:288:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 288 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:321:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 321 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:335:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 335 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:350:45: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 350 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:364:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 364 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:369:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 369 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initBinaryBlocks() [with T = float; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:48:18: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘const int’ [-Wsign-compare] 48 | if (offset <= this->context_->rank) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = float; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:416:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 416 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:419:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 419 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 422 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:424:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 424 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:428:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 428 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:433:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 433 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:438:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 438 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:441:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 441 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:445:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 445 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:446:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 446 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:450:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 450 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = float; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:98:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 98 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:128:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 128 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:139:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 139 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:141:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 141 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:148:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 148 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:150:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 150 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:216:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 216 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = float; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:268:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 268 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:269:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 269 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:273:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 273 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:288:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 288 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:321:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 321 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:335:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 335 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:350:45: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 350 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:364:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 364 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:369:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 369 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initBinaryBlocks() [with T = float; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:48:18: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘const int’ [-Wsign-compare] 48 | if (offset <= this->context_->rank) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = float; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:416:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 416 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:419:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 419 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 422 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:424:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 424 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:428:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 428 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:433:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 433 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:438:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 438 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:441:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 441 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:445:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 445 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:446:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 446 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:450:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 450 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = double; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:98:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 98 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:128:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 128 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:139:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 139 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:141:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 141 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:148:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 148 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:150:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 150 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:216:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 216 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = double; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:268:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 268 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:269:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 269 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:273:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 273 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:288:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 288 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:321:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 321 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:335:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 335 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:350:45: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 350 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:364:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 364 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:369:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 369 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initBinaryBlocks() [with T = double; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:48:18: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘const int’ [-Wsign-compare] 48 | if (offset <= this->context_->rank) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = double; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:416:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 416 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:419:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 419 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 422 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:424:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 424 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:428:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 428 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:433:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 433 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:438:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 438 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:441:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 441 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:445:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 445 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = signed char; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:374:14: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 374 | if (bytes_ < kOnDeviceThreshold) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:446:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 446 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:450:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 450 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = signed char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:152:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = signed char; W = gloo::CudaHostWorkspace]’ 152 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = double; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:98:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 98 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:128:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 128 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:139:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 139 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:141:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 141 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:148:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 148 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:150:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 150 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:216:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 216 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = signed char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:152:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 152 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = double; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:268:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 268 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:374:14: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 374 | if (bytes_ < kOnDeviceThreshold) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:269:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 269 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:273:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 273 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:288:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 288 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = unsigned char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:152:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 152 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:321:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 321 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:335:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 335 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:350:45: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 350 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:364:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 364 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:369:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 369 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = unsigned char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:152:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 152 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initBinaryBlocks() [with T = double; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:48:18: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘const int’ [-Wsign-compare] 48 | if (offset <= this->context_->rank) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = double; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:416:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 416 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:419:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 419 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 422 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:424:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 424 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:374:14: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 374 | if (bytes_ < kOnDeviceThreshold) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:428:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 428 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:433:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 433 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:152:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = int; W = gloo::CudaHostWorkspace]’ 152 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:438:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 438 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:441:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 441 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:152:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = int; W = gloo::CudaDeviceWorkspace]’ 152 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:445:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 445 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:446:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 446 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:450:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 450 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:374:14: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 374 | if (bytes_ < kOnDeviceThreshold) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = long int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:152:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = long int; W = gloo::CudaHostWorkspace]’ 152 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = long int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:152:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = long int; W = gloo::CudaDeviceWorkspace]’ 152 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:98:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 98 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:128:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 128 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:139:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 139 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:141:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 141 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:148:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 148 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:150:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 150 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:216:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 216 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:374:14: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 374 | if (bytes_ < kOnDeviceThreshold) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = long unsigned int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:152:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 152 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = gloo::float16; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:268:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 268 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = long unsigned int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:152:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 152 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:269:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 269 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:273:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 273 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:288:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 288 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:321:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 321 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = float; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:374:14: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 374 | if (bytes_ < kOnDeviceThreshold) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:335:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 335 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = float; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:152:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = float; W = gloo::CudaHostWorkspace]’ 152 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:350:45: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 350 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:364:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 364 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:369:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 369 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initBinaryBlocks() [with T = gloo::float16; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:48:18: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘const int’ [-Wsign-compare] 48 | if (offset <= this->context_->rank) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = float; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:152:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = float; W = gloo::CudaDeviceWorkspace]’ 152 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = gloo::float16; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:416:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 416 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:419:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 419 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 422 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:424:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 424 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:428:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 428 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = double; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:374:14: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 374 | if (bytes_ < kOnDeviceThreshold) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:433:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 433 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:438:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 438 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = double; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:152:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = double; W = gloo::CudaHostWorkspace]’ 152 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:441:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 441 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:445:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 445 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = double; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:152:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = double; W = gloo::CudaDeviceWorkspace]’ 152 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:446:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 446 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:450:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 450 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:94:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 94 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:98:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 98 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:374:14: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 374 | if (bytes_ < kOnDeviceThreshold) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:128:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 128 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:139:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 139 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:141:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 141 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:148:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 148 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = gloo::float16; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:152:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 152 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:150:43: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 150 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = gloo::float16; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:152:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 152 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:216:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 216 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:268:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 268 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:269:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 269 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:273:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 273 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:288:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 288 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:321:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 321 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:335:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 335 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:350:45: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 350 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:364:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 364 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:75:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:369:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 369 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initBinaryBlocks() [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:48:18: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘const int’ [-Wsign-compare] 48 | if (offset <= this->context_->rank) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:416:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 416 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:419:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 419 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 422 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:424:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 424 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:428:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 428 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:433:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 433 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:438:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 438 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:441:23: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 441 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:445:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 445 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:446:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 446 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:450:25: warning: comparison of integer expressions of different signedness: ‘__gnu_cxx::__alloc_traits, long unsigned int>::value_type’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 450 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = unsigned char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:50:28: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float]’ 50 | cudaDeviceBroadcast(streams_, devicePtrs_, devicePtrs_[0], 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:75:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:165:28: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = unsigned char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 165 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:76:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = int; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:27:37: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 27 | fn_(CudaReductionFunction::sum) { | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:50:28: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double]’ 50 | cudaDeviceBroadcast(streams_, devicePtrs_, devicePtrs_[0], 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:76:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = signed char; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:480:14: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 480 | if (bytes_ < kOnDeviceThreshold) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initReductionsAndBroadcasts(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:242:32: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = signed char; W = gloo::CudaHostWorkspace]’ 242 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:579:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 579 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:584:41: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 584 | const size_t numElementsInBcast = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = signed char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:281:44: required from ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = signed char; W = gloo::CudaHostWorkspace]’ 281 | auto recvBufAtOffset = recvBuf_.range(bufferOffset, recvCounts_[i]); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = signed char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:435:31: required from ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = signed char; W = gloo::CudaHostWorkspace]’ 435 | devicePtrs_[j].range(offset, numElements)); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:77:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:139:24: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 139 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:50:28: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16]’ 50 | cudaDeviceBroadcast(streams_, devicePtrs_, devicePtrs_[0], 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:77:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:154:52: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 154 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 155 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:165:28: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 165 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = long int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = long int; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:27:37: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’ 27 | fn_(CudaReductionFunction::sum) { | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:376:23: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 376 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = signed char; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/algorithm.h:14: /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = signed char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = signed char; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:26:37: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char]’ 26 | fn_(CudaReductionFunction::sum), | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:70:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:378:26: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 378 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = signed char; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:139:24: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 139 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = unsigned char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = unsigned char; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:26:37: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char]’ 26 | fn_(CudaReductionFunction::sum), | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:71:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = signed char; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = int; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:26:37: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int]’ 26 | fn_(CudaReductionFunction::sum), | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:72:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = long int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = long int; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:26:37: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int]’ 26 | fn_(CudaReductionFunction::sum), | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:73:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:383:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 383 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = signed char; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = long unsigned int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:26:37: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int]’ 26 | fn_(CudaReductionFunction::sum), | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:74:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initReductionsAndBroadcasts(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = signed char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:242:32: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 242 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:632:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 632 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:642:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 642 | i == stepsWithinBlock_ - 1 ? sendCounts_[i] + recvCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = long int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:154:52: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 154 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 155 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:480:14: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 480 | if (bytes_ < kOnDeviceThreshold) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = float; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = float; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:26:37: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float]’ 26 | fn_(CudaReductionFunction::sum), | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:75:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initReductionsAndBroadcasts(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:242:32: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 242 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:579:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 579 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:584:41: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 584 | const size_t numElementsInBcast = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = unsigned char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:281:44: required from ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 281 | auto recvBufAtOffset = recvBuf_.range(bufferOffset, recvCounts_[i]); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = unsigned char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:435:31: required from ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 435 | devicePtrs_[j].range(offset, numElements)); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initReductionsAndBroadcasts(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = unsigned char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:242:32: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 242 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:632:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 632 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:642:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 642 | i == stepsWithinBlock_ - 1 ? sendCounts_[i] + recvCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = double; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = double; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:26:37: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double]’ 26 | fn_(CudaReductionFunction::sum), | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:76:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ In file included from /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:18, from /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:11: /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = signed char]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:396:52: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = signed char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 396 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 397 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:405:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = signed char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 405 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 406 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:480:14: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 480 | if (bytes_ < kOnDeviceThreshold) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initReductionsAndBroadcasts(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:242:32: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = int; W = gloo::CudaHostWorkspace]’ 242 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:579:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 579 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:584:41: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 584 | const size_t numElementsInBcast = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:281:44: required from ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = int; W = gloo::CudaHostWorkspace]’ 281 | auto recvBufAtOffset = recvBuf_.range(bufferOffset, recvCounts_[i]); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:435:31: required from ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = int; W = gloo::CudaHostWorkspace]’ 435 | devicePtrs_[j].range(offset, numElements)); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = float16; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = float16; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:26:37: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16]’ 26 | fn_(CudaReductionFunction::sum), | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:77:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initReductionsAndBroadcasts(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:242:32: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = int; W = gloo::CudaDeviceWorkspace]’ 242 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:632:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 632 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:642:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 642 | i == stepsWithinBlock_ - 1 ? sendCounts_[i] + recvCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:408:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = signed char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 408 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:480:14: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 480 | if (bytes_ < kOnDeviceThreshold) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initReductionsAndBroadcasts(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:242:32: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long int; W = gloo::CudaHostWorkspace]’ 242 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:579:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 579 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:584:41: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 584 | const size_t numElementsInBcast = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = long int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:281:44: required from ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = long int; W = gloo::CudaHostWorkspace]’ 281 | auto recvBufAtOffset = recvBuf_.range(bufferOffset, recvCounts_[i]); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = long int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:435:31: required from ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = long int; W = gloo::CudaHostWorkspace]’ 435 | devicePtrs_[j].range(offset, numElements)); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:376:23: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 376 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initReductionsAndBroadcasts(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:242:32: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 242 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:632:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 632 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:642:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 642 | i == stepsWithinBlock_ - 1 ? sendCounts_[i] + recvCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:480:14: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 480 | if (bytes_ < kOnDeviceThreshold) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initReductionsAndBroadcasts(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:242:32: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 242 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:579:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 579 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:584:41: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 584 | const size_t numElementsInBcast = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = long unsigned int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:281:44: required from ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 281 | auto recvBufAtOffset = recvBuf_.range(bufferOffset, recvCounts_[i]); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = long unsigned int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:435:31: required from ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 435 | devicePtrs_[j].range(offset, numElements)); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initReductionsAndBroadcasts(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long unsigned int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:242:32: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 242 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:632:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 632 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:378:26: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 378 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:642:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 642 | i == stepsWithinBlock_ - 1 ? sendCounts_[i] + recvCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = float; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:480:14: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 480 | if (bytes_ < kOnDeviceThreshold) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initReductionsAndBroadcasts(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:242:32: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = float; W = gloo::CudaHostWorkspace]’ 242 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:579:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 579 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:584:41: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 584 | const size_t numElementsInBcast = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = float; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:281:44: required from ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = float; W = gloo::CudaHostWorkspace]’ 281 | auto recvBufAtOffset = recvBuf_.range(bufferOffset, recvCounts_[i]); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = float; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:435:31: required from ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = float; W = gloo::CudaHostWorkspace]’ 435 | devicePtrs_[j].range(offset, numElements)); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initReductionsAndBroadcasts(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = float; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:242:32: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = float; W = gloo::CudaDeviceWorkspace]’ 242 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:632:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 632 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:642:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 642 | i == stepsWithinBlock_ - 1 ? sendCounts_[i] + recvCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = double; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:480:14: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 480 | if (bytes_ < kOnDeviceThreshold) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initReductionsAndBroadcasts(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:242:32: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = double; W = gloo::CudaHostWorkspace]’ 242 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:579:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 579 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:584:41: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 584 | const size_t numElementsInBcast = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = double; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:281:44: required from ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = double; W = gloo::CudaHostWorkspace]’ 281 | auto recvBufAtOffset = recvBuf_.range(bufferOffset, recvCounts_[i]); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = double; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:435:31: required from ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = double; W = gloo::CudaHostWorkspace]’ 435 | devicePtrs_[j].range(offset, numElements)); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:383:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 383 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initReductionsAndBroadcasts(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = double; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:242:32: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = double; W = gloo::CudaDeviceWorkspace]’ 242 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:632:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 632 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:642:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 642 | i == stepsWithinBlock_ - 1 ? sendCounts_[i] + recvCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:480:14: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 480 | if (bytes_ < kOnDeviceThreshold) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initReductionsAndBroadcasts(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:242:32: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 242 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:579:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 579 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:584:41: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 584 | const size_t numElementsInBcast = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = gloo::float16; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:281:44: required from ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 281 | auto recvBufAtOffset = recvBuf_.range(bufferOffset, recvCounts_[i]); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = gloo::float16; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:435:31: required from ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 435 | devicePtrs_[j].range(offset, numElements)); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc: In instantiation of ‘void gloo::CudaAllreduceHalvingDoubling::initReductionsAndBroadcasts(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = gloo::float16; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:242:32: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 242 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:632:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 632 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = unsigned char]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:396:52: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = unsigned char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 396 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 397 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:405:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = unsigned char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 405 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 406 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:642:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 642 | i == stepsWithinBlock_ - 1 ? sendCounts_[i] + recvCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:408:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = unsigned char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 408 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:21, from /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:12: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = signed char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:70:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:376:23: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 376 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:50:28: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char]’ 50 | cudaDeviceBroadcast(streams_, devicePtrs_, devicePtrs_[0], 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:70:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:378:26: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 378 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:165:28: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 165 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/algorithm.h:14: /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = signed char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = signed char; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:75:37: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = signed char; W = gloo::CudaHostWorkspace]’ 75 | fn_(CudaReductionFunction::sum), | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = long unsigned int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:27:37: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 27 | fn_(CudaReductionFunction::sum) { | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:482:23: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 482 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = signed char; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:383:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 383 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:71:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:484:26: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 484 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = signed char; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:396:52: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 396 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 397 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = int; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:405:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 405 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 406 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = int; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = signed char; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:408:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 408 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = int; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:489:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 489 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = signed char; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:376:23: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 376 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:50:28: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char]’ 50 | cudaDeviceBroadcast(streams_, devicePtrs_, devicePtrs_[0], 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:71:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:378:26: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 378 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:18, from /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:11: /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = signed char]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:502:52: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = signed char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 502 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 503 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:525:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = signed char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 525 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:139:24: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 139 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:72:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:527:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = signed char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 527 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:50:28: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int]’ 50 | cudaDeviceBroadcast(streams_, devicePtrs_, devicePtrs_[0], 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:72:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = unsigned char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = unsigned char; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:75:37: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 75 | fn_(CudaReductionFunction::sum), | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:482:23: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 482 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:383:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 383 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:484:26: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 484 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:73:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:50:28: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int]’ 50 | cudaDeviceBroadcast(streams_, devicePtrs_, devicePtrs_[0], 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:73:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = long int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:396:52: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 396 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 397 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:405:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 405 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 406 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:408:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 408 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:489:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 489 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:74:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:376:23: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 376 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:50:28: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int]’ 50 | cudaDeviceBroadcast(streams_, devicePtrs_, devicePtrs_[0], 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:74:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:378:26: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 378 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:154:52: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long unsigned int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 154 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 155 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = unsigned char]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:502:52: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = unsigned char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 502 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 503 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:525:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = unsigned char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 525 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long unsigned int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = float; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:75:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:383:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 383 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = float; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:50:28: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float]’ 50 | cudaDeviceBroadcast(streams_, devicePtrs_, devicePtrs_[0], 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:75:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:527:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = unsigned char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 527 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:396:52: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long unsigned int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 396 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 397 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:405:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long unsigned int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 405 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 406 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = double; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:76:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:408:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long unsigned int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 408 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = int; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:75:37: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = int; W = gloo::CudaHostWorkspace]’ 75 | fn_(CudaReductionFunction::sum), | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = double; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:50:28: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double]’ 50 | cudaDeviceBroadcast(streams_, devicePtrs_, devicePtrs_[0], 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:76:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:376:23: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 376 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = float; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:482:23: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 482 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:77:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:378:26: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 378 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = float; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:50:28: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16]’ 50 | cudaDeviceBroadcast(streams_, devicePtrs_, devicePtrs_[0], 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:77:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:484:26: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 484 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:165:28: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long unsigned int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 165 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = signed char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:257:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = signed char; Src = gloo::CudaDevicePointer; Dst = gloo::CudaDevicePointer; size_t = long unsigned int]’ 257 | src_(src.range(offset, count)), | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaDevicePointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaDevicePointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:40:70: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaDevicePointer; size_t = long unsigned int]’ 40 | return make_unique, Dst>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 41 | streams[0], devicePtrs[0], targetPtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:70:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = float; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:70:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:383:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 383 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = float; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:489:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 489 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = float; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = float; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:27:37: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 27 | fn_(CudaReductionFunction::sum) { | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = float]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:396:52: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = float; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 396 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 397 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = float; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:405:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = float; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 405 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 406 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = float; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = unsigned char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:257:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = unsigned char; Src = gloo::CudaDevicePointer; Dst = gloo::CudaDevicePointer; size_t = long unsigned int]’ 257 | src_(src.range(offset, count)), | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaDevicePointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaDevicePointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:40:70: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaDevicePointer; size_t = long unsigned int]’ 40 | return make_unique, Dst>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 41 | streams[0], devicePtrs[0], targetPtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:71:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:71:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:408:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = float; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 408 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = float; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:502:52: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 502 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 503 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = int; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:525:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 525 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = int; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:376:23: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 376 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = double; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:257:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = int; Src = gloo::CudaDevicePointer; Dst = gloo::CudaDevicePointer; size_t = long unsigned int]’ 257 | src_(src.range(offset, count)), | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaDevicePointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaDevicePointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:40:70: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 40 | return make_unique, Dst>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 41 | streams[0], devicePtrs[0], targetPtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:72:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:527:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 527 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = int; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = int; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:72:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:378:26: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 378 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = double; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = long int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = long int; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:75:37: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long int; W = gloo::CudaHostWorkspace]’ 75 | fn_(CudaReductionFunction::sum), | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:482:23: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 482 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = double; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = long int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:257:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = long int; Src = gloo::CudaDevicePointer; Dst = gloo::CudaDevicePointer; size_t = long unsigned int]’ 257 | src_(src.range(offset, count)), | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaDevicePointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaDevicePointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:40:70: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 40 | return make_unique, Dst>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 41 | streams[0], devicePtrs[0], targetPtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:73:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:383:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 383 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = double; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = long int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:73:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:484:26: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 484 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = double]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:396:52: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = double; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 396 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 397 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = double; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:405:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = double; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 405 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 406 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = double; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:139:24: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 139 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:408:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = double; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 408 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = double; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = long unsigned int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:257:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = long unsigned int; Src = gloo::CudaDevicePointer; Dst = gloo::CudaDevicePointer; size_t = long unsigned int]’ 257 | src_(src.range(offset, count)), | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaDevicePointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaDevicePointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:40:70: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 40 | return make_unique, Dst>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 41 | streams[0], devicePtrs[0], targetPtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:74:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:376:23: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 376 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:489:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 489 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:74:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:378:26: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 378 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = long int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:502:52: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 502 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 503 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:525:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 525 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = float; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:257:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = float; Src = gloo::CudaDevicePointer; Dst = gloo::CudaDevicePointer; size_t = long unsigned int]’ 257 | src_(src.range(offset, count)), | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaDevicePointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaDevicePointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:40:70: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaDevicePointer; size_t = long unsigned int]’ 40 | return make_unique, Dst>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 41 | streams[0], devicePtrs[0], targetPtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:75:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:527:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 527 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:383:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 383 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = long unsigned int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:75:37: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 75 | fn_(CudaReductionFunction::sum), | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = float; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = float; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:75:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:482:23: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 482 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = float16]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:396:52: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = gloo::float16; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 396 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 397 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:405:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = gloo::float16; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 405 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 406 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:408:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = gloo::float16; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 408 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:484:26: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 484 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = double; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:257:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = double; Src = gloo::CudaDevicePointer; Dst = gloo::CudaDevicePointer; size_t = long unsigned int]’ 257 | src_(src.range(offset, count)), | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaDevicePointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaDevicePointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:40:70: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaDevicePointer; size_t = long unsigned int]’ 40 | return make_unique, Dst>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 41 | streams[0], devicePtrs[0], targetPtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:76:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = double; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = double; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:76:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = float]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:154:52: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = float; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 154 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 155 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:489:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 489 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = float; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = gloo::float16; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:257:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = gloo::float16; Src = gloo::CudaDevicePointer; Dst = gloo::CudaDevicePointer; size_t = long unsigned int]’ 257 | src_(src.range(offset, count)), | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaDevicePointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaDevicePointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:40:70: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaDevicePointer; size_t = long unsigned int]’ 40 | return make_unique, Dst>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 41 | streams[0], devicePtrs[0], targetPtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:77:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = float16; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:77:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:165:28: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = float; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 165 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:502:52: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long unsigned int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 502 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 503 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:525:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long unsigned int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 525 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = signed char]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:63:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 63 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:70:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = signed char]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:161:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 161 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:50:28: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char]’ 50 | cudaDeviceBroadcast(streams_, devicePtrs_, devicePtrs_[0], 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:70:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:527:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long unsigned int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 527 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = float; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = float; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:75:37: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = float; W = gloo::CudaHostWorkspace]’ 75 | fn_(CudaReductionFunction::sum), | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:482:23: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 482 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = float; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = double; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = double; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:27:37: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 27 | fn_(CudaReductionFunction::sum) { | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:484:26: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 484 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = float; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = float; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:489:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 489 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = float; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = unsigned char]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:63:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 63 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:71:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = float]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:502:52: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = float; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 502 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 503 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = float; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:525:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = float; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 525 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = float; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = unsigned char]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:161:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 161 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:50:28: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char]’ 50 | cudaDeviceBroadcast(streams_, devicePtrs_, devicePtrs_[0], 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:71:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:527:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = float; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 527 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = float; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:139:24: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 139 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = double; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = double; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:75:37: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = double; W = gloo::CudaHostWorkspace]’ 75 | fn_(CudaReductionFunction::sum), | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:482:23: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 482 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = double; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:63:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = int; size_t = long unsigned int]’ 63 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:72:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:484:26: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 484 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = double; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:161:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = int; size_t = long unsigned int]’ 161 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:50:28: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int]’ 50 | cudaDeviceBroadcast(streams_, devicePtrs_, devicePtrs_[0], 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:72:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = double; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = double]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:154:52: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = double; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 154 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 155 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:489:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 489 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = double; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = long int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:63:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 63 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:73:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:12: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘gloo::CudaLocalHostReduce >::CudaLocalHostReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = signed char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalHostReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:230:50: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaHostPointer; size_t = long unsigned int]’ 230 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:376:23: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 376 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = signed char; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = long int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:161:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 161 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:50:28: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int]’ 50 | cudaDeviceBroadcast(streams_, devicePtrs_, devicePtrs_[0], 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:73:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = double; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = double]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:502:52: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = double; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 502 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 503 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = double; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:525:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = double; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 525 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = double; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:527:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = double; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 527 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = double; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = float16; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = float16; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:75:37: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 75 | fn_(CudaReductionFunction::sum), | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:63:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 63 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:74:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:482:23: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 482 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:21: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = signed char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:405:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = signed char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 405 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 406 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:408:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = signed char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 408 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:484:26: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 484 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:161:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 161 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:50:28: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int]’ 50 | cudaDeviceBroadcast(streams_, devicePtrs_, devicePtrs_[0], 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:74:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘gloo::CudaLocalHostReduce >::CudaLocalHostReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalHostReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:230:50: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaHostPointer; size_t = long unsigned int]’ 230 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:376:23: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 376 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:165:28: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = double; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 165 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:489:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 489 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:405:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = unsigned char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 405 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 406 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:408:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = unsigned char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 408 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = float]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:63:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = float; size_t = long unsigned int]’ 63 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:75:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = float16]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:502:52: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = gloo::float16; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 502 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 503 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:525:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = gloo::float16; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 525 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = float]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:161:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = float; size_t = long unsigned int]’ 161 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:50:28: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float]’ 50 | cudaDeviceBroadcast(streams_, devicePtrs_, devicePtrs_[0], 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:75:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘gloo::CudaLocalHostReduce >::CudaLocalHostReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalHostReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:230:50: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaHostPointer; size_t = long unsigned int]’ 230 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:376:23: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 376 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:527:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = gloo::float16; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 527 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:405:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 405 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 406 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = int; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:408:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 408 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = int; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = double]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:63:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = double; size_t = long unsigned int]’ 63 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:76:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = double]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:161:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = double; size_t = long unsigned int]’ 161 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:50:28: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double]’ 50 | cudaDeviceBroadcast(streams_, devicePtrs_, devicePtrs_[0], 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:76:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘gloo::CudaLocalHostReduce >::CudaLocalHostReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalHostReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:230:50: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaHostPointer; size_t = long unsigned int]’ 230 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:376:23: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 376 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = float16; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = float16; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:27:37: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 27 | fn_(CudaReductionFunction::sum) { | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:189:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:189:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:224:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 224 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:405:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 405 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 406 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = gloo::float16]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:63:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 63 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:77:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:408:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 408 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = gloo::float16]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:161:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 161 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:50:28: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16]’ 50 | cudaDeviceBroadcast(streams_, devicePtrs_, devicePtrs_[0], 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:77:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘gloo::CudaLocalHostReduce >::CudaLocalHostReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalHostReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:230:50: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaHostPointer; size_t = long unsigned int]’ 230 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:376:23: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 376 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:405:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long unsigned int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 405 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 406 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:408:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long unsigned int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 408 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘std::unique_ptr > gloo::cudaHostBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:139:24: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 139 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:189:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:241:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 241 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘gloo::CudaLocalHostReduce >::CudaLocalHostReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = float; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalHostReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:230:50: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaHostPointer; size_t = long unsigned int]’ 230 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:376:23: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 376 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = float; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = float16]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:154:52: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = gloo::float16; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 154 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 155 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:189:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = gloo::float16; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:189:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = float; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:405:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = float; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 405 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 406 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = float; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = float; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:408:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = float; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 408 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = float; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘gloo::CudaLocalHostReduce >::CudaLocalHostReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = double; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalHostReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:230:50: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaHostPointer; size_t = long unsigned int]’ 230 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:376:23: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 376 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = double; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = double; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:405:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = double; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 405 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 406 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = double; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = double; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:408:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = double; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 408 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = double; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘gloo::CudaLocalHostReduce >::CudaLocalHostReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalHostReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:230:50: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaHostPointer; size_t = long unsigned int]’ 230 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:376:23: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 376 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:405:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = gloo::float16; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 405 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 406 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:408:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = gloo::float16; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 408 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:165:28: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = gloo::float16; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 165 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:189:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = signed char]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:70:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = signed char; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = unsigned char]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:71:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = int]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = int; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = int; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:72:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = long int]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:73:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = int; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = long unsigned int]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:74:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = float]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = float; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = float; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:75:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = long int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:12: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘gloo::CudaLocalHostReduce >::CudaLocalHostReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = signed char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalHostReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:230:50: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaHostPointer; size_t = long unsigned int]’ 230 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:482:23: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 482 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = signed char; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = double]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = double; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = double; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:76:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = gloo::float16]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = float16; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:48:25: required from ‘gloo::CudaAllreduceLocal::CudaAllreduceLocal(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16]’ 48 | cudaDeviceReduce(streams_, devicePtrs_, devicePtrs_[0], fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_local.cc:77:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = float; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = float; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = float; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:21: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = signed char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:525:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = signed char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 525 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = double; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = double; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = double; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:527:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = signed char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 527 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = float16; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘gloo::CudaLocalHostReduce >::CudaLocalHostReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalHostReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:230:50: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaHostPointer; size_t = long unsigned int]’ 230 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:482:23: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 482 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = signed char]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:102:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 102 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = signed char; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:525:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = unsigned char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 525 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = signed char]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:199:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 199 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 200 | toDeviceElements(streams, devicePtrs, offset, count), root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaHostPointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:383:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 383 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = signed char; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:527:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = unsigned char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 527 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘gloo::CudaLocalHostReduce >::CudaLocalHostReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalHostReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:230:50: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaHostPointer; size_t = long unsigned int]’ 230 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:482:23: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 482 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = unsigned char]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:102:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 102 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = unsigned char]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:199:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 199 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 200 | toDeviceElements(streams, devicePtrs, offset, count), root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaHostPointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:383:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 383 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:102:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = int; size_t = long unsigned int]’ 102 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:199:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = int; size_t = long unsigned int]’ 199 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 200 | toDeviceElements(streams, devicePtrs, offset, count), root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaHostPointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:383:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 383 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:525:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 525 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = int; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:527:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 527 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = int; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = long int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:102:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 102 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘gloo::CudaLocalHostReduce >::CudaLocalHostReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalHostReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:230:50: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaHostPointer; size_t = long unsigned int]’ 230 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:482:23: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 482 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = long int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:199:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 199 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 200 | toDeviceElements(streams, devicePtrs, offset, count), root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaHostPointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:383:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 383 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:102:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 102 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:199:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 199 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 200 | toDeviceElements(streams, devicePtrs, offset, count), root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaHostPointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:383:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 383 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:525:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 525 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:527:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 527 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = float]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:102:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = float; size_t = long unsigned int]’ 102 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = float; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = float]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:199:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = float; size_t = long unsigned int]’ 199 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 200 | toDeviceElements(streams, devicePtrs, offset, count), root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaHostPointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:383:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 383 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = float; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘gloo::CudaLocalHostReduce >::CudaLocalHostReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalHostReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:230:50: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaHostPointer; size_t = long unsigned int]’ 230 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:482:23: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 482 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = double]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:102:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = double; size_t = long unsigned int]’ 102 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = double; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = double]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:199:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = double; size_t = long unsigned int]’ 199 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 200 | toDeviceElements(streams, devicePtrs, offset, count), root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaHostPointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:383:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 383 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = double; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:525:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long unsigned int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 525 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:527:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long unsigned int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 527 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘gloo::CudaLocalHostReduce >::CudaLocalHostReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = float; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalHostReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:230:50: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaHostPointer; size_t = long unsigned int]’ 230 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:482:23: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 482 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = float; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = float; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:525:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = float; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 525 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = float; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = float; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:527:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = float; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 527 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = float; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘gloo::CudaLocalHostReduce >::CudaLocalHostReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = double; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalHostReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:230:50: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaHostPointer; size_t = long unsigned int]’ 230 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:482:23: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 482 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = double; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:12: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘gloo::CudaLocalHostReduce >::CudaLocalHostReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = signed char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalHostReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:230:50: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaHostPointer; size_t = long unsigned int]’ 230 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:21: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = signed char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = signed char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = double; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:525:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = double; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 525 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = double; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = double; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:527:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = double; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 527 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = double; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:165:28: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = signed char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 165 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘gloo::CudaLocalHostReduce >::CudaLocalHostReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalHostReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:230:50: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaHostPointer; size_t = long unsigned int]’ 230 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:482:23: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 482 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘gloo::CudaLocalHostReduce >::CudaLocalHostReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalHostReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:230:50: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaHostPointer; size_t = long unsigned int]’ 230 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = unsigned char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:525:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = gloo::float16; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 525 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:527:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = gloo::float16; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 527 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 649 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:165:28: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = unsigned char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 165 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = signed char; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘gloo::CudaLocalHostReduce >::CudaLocalHostReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalHostReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:230:50: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaHostPointer; size_t = long unsigned int]’ 230 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = int; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:165:28: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 165 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = long int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘gloo::CudaLocalHostReduce >::CudaLocalHostReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalHostReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:230:50: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaHostPointer; size_t = long unsigned int]’ 230 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:165:28: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 165 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = float; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = float; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = float; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘gloo::CudaLocalHostReduce >::CudaLocalHostReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalHostReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:230:50: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaHostPointer; size_t = long unsigned int]’ 230 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long unsigned int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = gloo::float16]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:102:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 102 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = gloo::float16]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:199:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 199 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 200 | toDeviceElements(streams, devicePtrs, offset, count), root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaHostPointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:383:28: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 383 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:165:28: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long unsigned int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 165 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘gloo::CudaLocalHostReduce >::CudaLocalHostReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = float; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalHostReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:230:50: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaHostPointer; size_t = long unsigned int]’ 230 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = float; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = float; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = float; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:165:28: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = float; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 165 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘gloo::CudaLocalHostReduce >::CudaLocalHostReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = double; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalHostReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:230:50: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaHostPointer; size_t = long unsigned int]’ 230 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = double; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = double; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = double; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:165:28: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = double; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 165 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘gloo::CudaLocalHostReduce >::CudaLocalHostReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalHostReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:230:50: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaHostPointer; size_t = long unsigned int]’ 230 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:189:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = gloo::float16; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:189:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:165:28: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = gloo::float16; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 165 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:189:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = signed char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:257:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = signed char; Src = gloo::CudaDevicePointer; Dst = gloo::CudaHostPointer; size_t = long unsigned int]’ 257 | src_(src.range(offset, count)), | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaHostPointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaHostPointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:227:70: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaHostPointer; size_t = long unsigned int]’ 227 | return make_unique, Dst>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 228 | streams[0], devicePtrs[0], targetPtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = signed char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:258:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = signed char; Src = gloo::CudaDevicePointer; Dst = gloo::CudaHostPointer; size_t = long unsigned int]’ 258 | dst_(dst.range(offset, count)) {} | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaHostPointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaHostPointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:227:70: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaHostPointer; size_t = long unsigned int]’ 227 | return make_unique, Dst>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 228 | streams[0], devicePtrs[0], targetPtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = signed char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = unsigned char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:257:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = unsigned char; Src = gloo::CudaDevicePointer; Dst = gloo::CudaHostPointer; size_t = long unsigned int]’ 257 | src_(src.range(offset, count)), | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaHostPointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaHostPointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:227:70: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaHostPointer; size_t = long unsigned int]’ 227 | return make_unique, Dst>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 228 | streams[0], devicePtrs[0], targetPtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = unsigned char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:258:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = unsigned char; Src = gloo::CudaDevicePointer; Dst = gloo::CudaHostPointer; size_t = long unsigned int]’ 258 | dst_(dst.range(offset, count)) {} | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaHostPointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaHostPointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:227:70: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaHostPointer; size_t = long unsigned int]’ 227 | return make_unique, Dst>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 228 | streams[0], devicePtrs[0], targetPtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = unsigned char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = signed char]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = signed char; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = unsigned char]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = int]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = int; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = int; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = long int]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = long unsigned int]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = float]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = float; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = float; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = float; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = double]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = double; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = double; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = double; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = gloo::float16]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = float16; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:380:38: required from ‘void gloo::CudaAllreduceBcube::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 380 | localReduceOp_ = cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 381 | streams_, devicePtrs_, scratch_, fn_, 0, totalNumElems_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:79:7: required from ‘gloo::CudaAllreduceBcube::CudaAllreduceBcube(const std::shared_ptr&, const std::vector&, int, const std::vector&, const gloo::CudaReductionFunction*) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 79 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:257:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = int; Src = gloo::CudaDevicePointer; Dst = gloo::CudaHostPointer; size_t = long unsigned int]’ 257 | src_(src.range(offset, count)), | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaHostPointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaHostPointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:227:70: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaHostPointer; size_t = long unsigned int]’ 227 | return make_unique, Dst>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 228 | streams[0], devicePtrs[0], targetPtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:258:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = int; Src = gloo::CudaDevicePointer; Dst = gloo::CudaHostPointer; size_t = long unsigned int]’ 258 | dst_(dst.range(offset, count)) {} | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaHostPointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaHostPointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:227:70: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaHostPointer; size_t = long unsigned int]’ 227 | return make_unique, Dst>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 228 | streams[0], devicePtrs[0], targetPtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = double; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = double; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = double; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = int; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = gloo::float16]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:197:16: required from here 197 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:199:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = gloo::float16]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:204:16: required from here 204 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:205:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 205 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = gloo::float16]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 111 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:116:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 116 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = double]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:197:16: required from here 197 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:199:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = double]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:204:16: required from here 204 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:205:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 205 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = double]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 111 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:116:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 116 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = float]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:197:16: required from here 197 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:199:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = float]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:204:16: required from here 204 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:205:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 205 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = float]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 111 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:116:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 116 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:197:16: required from here 197 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:199:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:204:16: required from here 204 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:205:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 205 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 111 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:116:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 116 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = long int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:197:16: required from here 197 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:199:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = long int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:204:16: required from here 204 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:205:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 205 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = long int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 111 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:116:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 116 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:197:16: required from here 197 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:199:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:204:16: required from here 204 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:205:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 205 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 111 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:116:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 116 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = unsigned char]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:197:16: required from here 197 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:199:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = unsigned char]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:204:16: required from here 204 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:205:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 205 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = unsigned char]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 111 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:116:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 116 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = signed char]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:197:16: required from here 197 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:199:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = signed char]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:204:16: required from here 204 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:205:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 205 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = signed char]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 111 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:116:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 116 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = long int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:257:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = long int; Src = gloo::CudaDevicePointer; Dst = gloo::CudaHostPointer; size_t = long unsigned int]’ 257 | src_(src.range(offset, count)), | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaHostPointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaHostPointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:227:70: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaHostPointer; size_t = long unsigned int]’ 227 | return make_unique, Dst>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 228 | streams[0], devicePtrs[0], targetPtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = long int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:258:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = long int; Src = gloo::CudaDevicePointer; Dst = gloo::CudaHostPointer; size_t = long unsigned int]’ 258 | dst_(dst.range(offset, count)) {} | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaHostPointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaHostPointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:227:70: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaHostPointer; size_t = long unsigned int]’ 227 | return make_unique, Dst>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 228 | streams[0], devicePtrs[0], targetPtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = long int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = long unsigned int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:257:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = long unsigned int; Src = gloo::CudaDevicePointer; Dst = gloo::CudaHostPointer; size_t = long unsigned int]’ 257 | src_(src.range(offset, count)), | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaHostPointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaHostPointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:227:70: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaHostPointer; size_t = long unsigned int]’ 227 | return make_unique, Dst>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 228 | streams[0], devicePtrs[0], targetPtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = long unsigned int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:258:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = long unsigned int; Src = gloo::CudaDevicePointer; Dst = gloo::CudaHostPointer; size_t = long unsigned int]’ 258 | dst_(dst.range(offset, count)) {} | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaHostPointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaHostPointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:227:70: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaHostPointer; size_t = long unsigned int]’ 227 | return make_unique, Dst>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 228 | streams[0], devicePtrs[0], targetPtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long unsigned int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = float; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:257:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = float; Src = gloo::CudaDevicePointer; Dst = gloo::CudaHostPointer; size_t = long unsigned int]’ 257 | src_(src.range(offset, count)), | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaHostPointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaHostPointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:227:70: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaHostPointer; size_t = long unsigned int]’ 227 | return make_unique, Dst>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 228 | streams[0], devicePtrs[0], targetPtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = float; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:258:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = float; Src = gloo::CudaDevicePointer; Dst = gloo::CudaHostPointer; size_t = long unsigned int]’ 258 | dst_(dst.range(offset, count)) {} | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaHostPointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaHostPointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:227:70: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaHostPointer; size_t = long unsigned int]’ 227 | return make_unique, Dst>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 228 | streams[0], devicePtrs[0], targetPtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = float; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = float; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = float; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = double; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:257:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = double; Src = gloo::CudaDevicePointer; Dst = gloo::CudaHostPointer; size_t = long unsigned int]’ 257 | src_(src.range(offset, count)), | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaHostPointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaHostPointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:227:70: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaHostPointer; size_t = long unsigned int]’ 227 | return make_unique, Dst>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 228 | streams[0], devicePtrs[0], targetPtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = double; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:258:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = double; Src = gloo::CudaDevicePointer; Dst = gloo::CudaHostPointer; size_t = long unsigned int]’ 258 | dst_(dst.range(offset, count)) {} | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaHostPointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaHostPointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:227:70: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaHostPointer; size_t = long unsigned int]’ 227 | return make_unique, Dst>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 228 | streams[0], devicePtrs[0], targetPtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = float16; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = double; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = double; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = double; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = gloo::float16; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:257:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = gloo::float16; Src = gloo::CudaDevicePointer; Dst = gloo::CudaHostPointer; size_t = long unsigned int]’ 257 | src_(src.range(offset, count)), | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaHostPointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaHostPointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:227:70: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaHostPointer; size_t = long unsigned int]’ 227 | return make_unique, Dst>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 228 | streams[0], devicePtrs[0], targetPtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:189:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = gloo::float16; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:258:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = gloo::float16; Src = gloo::CudaDevicePointer; Dst = gloo::CudaHostPointer; size_t = long unsigned int]’ 258 | dst_(dst.range(offset, count)) {} | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaHostPointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaHostPointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:227:70: required from ‘std::unique_ptr > gloo::cudaHostReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaHostPointer; size_t = long unsigned int]’ 227 | return make_unique, Dst>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 228 | streams[0], devicePtrs[0], targetPtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:137:21: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 137 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:189:1: required from here 179 | template class CudaAllreduceRing>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = signed char]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:102:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 102 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = signed char; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = signed char]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:199:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 199 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 200 | toDeviceElements(streams, devicePtrs, offset, count), root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaHostPointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:489:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 489 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = signed char; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = float16; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = gloo::float16; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:189:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = unsigned char]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:102:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 102 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = unsigned char]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:199:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 199 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 200 | toDeviceElements(streams, devicePtrs, offset, count), root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaHostPointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:489:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 489 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:102:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = int; size_t = long unsigned int]’ 102 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:199:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = int; size_t = long unsigned int]’ 199 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 200 | toDeviceElements(streams, devicePtrs, offset, count), root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaHostPointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:489:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 489 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = signed char]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:63:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 63 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = signed char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = long int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:102:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 102 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = long int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:199:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 199 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 200 | toDeviceElements(streams, devicePtrs, offset, count), root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaHostPointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:489:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 489 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = signed char]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:161:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 161 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:165:28: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = signed char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 165 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:102:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 102 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:199:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 199 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 200 | toDeviceElements(streams, devicePtrs, offset, count), root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaHostPointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:489:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 489 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = unsigned char]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:63:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 63 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = unsigned char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = unsigned char]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:161:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 161 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:165:28: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = unsigned char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 165 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = float]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:102:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = float; size_t = long unsigned int]’ 102 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = float; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = float]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:199:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = float; size_t = long unsigned int]’ 199 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 200 | toDeviceElements(streams, devicePtrs, offset, count), root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaHostPointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:489:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 489 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = float; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = double]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:102:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = double; size_t = long unsigned int]’ 102 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = double; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = double]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:199:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = double; size_t = long unsigned int]’ 199 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 200 | toDeviceElements(streams, devicePtrs, offset, count), root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaHostPointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:489:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 489 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = double; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:63:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = int; size_t = long unsigned int]’ 63 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:161:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = int; size_t = long unsigned int]’ 161 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:165:28: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 165 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = gloo::float16]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:102:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 102 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = gloo::float16]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:199:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 199 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 200 | toDeviceElements(streams, devicePtrs, offset, count), root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaHostPointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:489:28: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 489 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = long int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:63:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 63 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = long int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:161:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 161 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:165:28: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 165 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:63:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 63 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long unsigned int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:161:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 161 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:165:28: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long unsigned int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 165 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/math.h:12: /builddir/build/BUILD/gloo/gloo/types.h: In function ‘gloo::cpu_half2float(gloo::float16)’: /builddir/build/BUILD/gloo/gloo/types.h:335:19: warning: ‘temp’ is used uninitialized [-Wuninitialized] 335 | return *(float*)rp; | ^~ /builddir/build/BUILD/gloo/gloo/types.h:332:12: note: ‘temp’ declared here 332 | unsigned temp = ((sign << 31) | (exponent << 23) | mantissa); | ^~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = float]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:63:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = float; size_t = long unsigned int]’ 63 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = float; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = float]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:161:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = float; size_t = long unsigned int]’ 161 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:165:28: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = float; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 165 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = double]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:63:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = double; size_t = long unsigned int]’ 63 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = double; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = signed char]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = signed char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = signed char; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = unsigned char]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = unsigned char; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = int]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = int; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = int; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = long int]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = double]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:161:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = double; size_t = long unsigned int]’ 161 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:165:28: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = double; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 165 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = long unsigned int]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = long unsigned int; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = float]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = float; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = float; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = float; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = float; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = double]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = double; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = double; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = double; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = double; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:657:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = gloo::float16]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = float16; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:487:25: required from ‘void gloo::CudaAllreduceHalvingDoubling::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaHostWorkspace; T = gloo::float16; W = gloo::CudaHostWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaHostPointer; typename U::Pointer = gloo::CudaHostPointer]’ 487 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:109:7: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 109 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_halving_doubling.cc:658:1: required from here 648 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = gloo::float16]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:63:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 63 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = gloo::float16; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:189:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = gloo::float16]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:161:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 161 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:165:28: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = gloo::float16; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 165 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:189:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = gloo::float16]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:197:16: required from here 197 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:199:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = gloo::float16]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:204:16: required from here 204 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:205:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 205 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = gloo::float16]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 111 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:116:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 116 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = double]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:197:16: required from here 197 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:199:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = double]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:204:16: required from here 204 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:205:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 205 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = double]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 111 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:116:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 116 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = float]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:197:16: required from here 197 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:199:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = float]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:204:16: required from here 204 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:205:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 205 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = float]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 111 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:116:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 116 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:197:16: required from here 197 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:199:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:204:16: required from here 204 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:205:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 205 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 111 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:116:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 116 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = long int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:197:16: required from here 197 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:199:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = long int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:204:16: required from here 204 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:205:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 205 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = long int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 111 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:116:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 116 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:197:16: required from here 197 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:199:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:204:16: required from here 204 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:205:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 205 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 111 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:116:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 116 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = unsigned char]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:197:16: required from here 197 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:199:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = unsigned char]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:204:16: required from here 204 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:205:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 205 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = unsigned char]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 111 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:116:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 116 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = signed char]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:197:16: required from here 197 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:199:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = signed char]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:204:16: required from here 204 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:205:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 205 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = signed char]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 111 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:116:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 116 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = signed char]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = signed char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = unsigned char]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = unsigned char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = int]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = int; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = int; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = long int]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = long unsigned int]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long unsigned int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = float]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = float; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = float; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = float; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = double]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = double; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = double; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = double; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = gloo::float16]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = float16; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:64:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 64 | toDeviceElements(streams, devicePtrs, offset, count), fn, root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:163:25: required from ‘void gloo::CudaAllreduceRing::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = gloo::float16; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 163 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:45:7: required from ‘gloo::CudaAllreduceRing::CudaAllreduceRing(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 45 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring.cc:189:1: required from here 180 | template class CudaAllreduceRing>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = gloo::float16]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:197:16: required from here 197 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:199:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = gloo::float16]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:204:16: required from here 204 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:205:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 205 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = gloo::float16]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 111 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:116:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 116 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = double]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:197:16: required from here 197 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:199:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = double]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:204:16: required from here 204 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:205:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 205 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = double]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 111 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:116:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 116 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = float]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:197:16: required from here 197 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:199:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = float]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:204:16: required from here 204 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:205:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 205 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = float]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 111 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:116:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 116 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:197:16: required from here 197 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:199:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:204:16: required from here 204 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:205:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 205 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 111 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:116:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 116 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = long int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:197:16: required from here 197 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:199:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = long int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:204:16: required from here 204 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:205:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 205 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = long int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 111 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:116:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 116 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:197:16: required from here 197 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:199:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:204:16: required from here 204 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:205:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 205 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 111 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:116:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 116 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = unsigned char]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:197:16: required from here 197 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:199:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = unsigned char]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:204:16: required from here 204 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:205:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 205 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = unsigned char]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 111 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:116:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 116 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = signed char]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:197:16: required from here 197 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:199:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = signed char]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:204:16: required from here 204 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:205:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 205 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = signed char]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:111:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 111 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_host.h:116:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 116 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/math.h:12, from /builddir/build/BUILD/gloo/gloo/algorithm.h:14: /builddir/build/BUILD/gloo/gloo/types.h: In function ‘gloo::cpu_half2float(gloo::float16)’: /builddir/build/BUILD/gloo/gloo/types.h:335:19: warning: ‘temp’ is used uninitialized [-Wuninitialized] 335 | return *(float*)rp; | ^~ /builddir/build/BUILD/gloo/gloo/types.h:332:12: note: ‘temp’ declared here 332 | unsigned temp = ((sign << 31) | (exponent << 23) | mantissa); | ^~~~ In file included from /builddir/build/BUILD/gloo/gloo/math.h:12: /builddir/build/BUILD/gloo/gloo/types.h: In function ‘gloo::cpu_half2float(gloo::float16)’: /builddir/build/BUILD/gloo/gloo/types.h:335:19: warning: ‘temp’ is used uninitialized [-Wuninitialized] 335 | return *(float*)rp; | ^~ /builddir/build/BUILD/gloo/gloo/types.h:332:12: note: ‘temp’ declared here 332 | unsigned temp = ((sign << 31) | (exponent << 23) | mantissa); | ^~~~ In file included from /builddir/build/BUILD/gloo/gloo/math.h:12: /builddir/build/BUILD/gloo/gloo/types.h: In function ‘gloo::cpu_half2float(gloo::float16)’: /builddir/build/BUILD/gloo/gloo/types.h:335:19: warning: ‘temp’ is used uninitialized [-Wuninitialized] 335 | return *(float*)rp; | ^~ /builddir/build/BUILD/gloo/gloo/types.h:332:12: note: ‘temp’ declared here 332 | unsigned temp = ((sign << 31) | (exponent << 23) | mantissa); | ^~~~ [ 97%] Building CXX object gloo/CMakeFiles/gloo_cuda.dir/cuda_allreduce_ring_chunked.cc.o In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo/gloo/algorithm.h:13, from /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.h:13, from /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:9: /builddir/build/BUILD/gloo/gloo/cuda_private.h: In function ‘int gloo::getCurrentGPUID()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:46:3: note: in expansion of macro ‘CUDA_CHECK’ 46 | CUDA_CHECK(cudaGetDevice(&id)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:46:3: note: in expansion of macro ‘CUDA_CHECK’ 46 | CUDA_CHECK(cudaGetDevice(&id)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In function ‘int gloo::getGPUIDForPointer(const void*)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:52:3: note: in expansion of macro ‘CUDA_CHECK’ 52 | CUDA_CHECK(cudaPointerGetAttributes(&attr, ptr)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:52:3: note: in expansion of macro ‘CUDA_CHECK’ 52 | CUDA_CHECK(cudaPointerGetAttributes(&attr, ptr)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In function ‘int gloo::getDeviceCount()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:58:3: note: in expansion of macro ‘CUDA_CHECK’ 58 | CUDA_CHECK(cudaGetDeviceCount(&count)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:58:3: note: in expansion of macro ‘CUDA_CHECK’ 58 | CUDA_CHECK(cudaGetDeviceCount(&count)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In destructor ‘gloo::CudaDeviceGuard::~CudaDeviceGuard()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:107:5: note: in expansion of macro ‘CUDA_CHECK’ 107 | CUDA_CHECK(cudaSetDevice(previous_)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:107:5: note: in expansion of macro ‘CUDA_CHECK’ 107 | CUDA_CHECK(cudaSetDevice(previous_)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In constructor ‘gloo::CudaDeviceScope::CudaDeviceScope(int)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:117:5: note: in expansion of macro ‘CUDA_CHECK’ 117 | CUDA_CHECK(cudaSetDevice(device)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:117:5: note: in expansion of macro ‘CUDA_CHECK’ 117 | CUDA_CHECK(cudaSetDevice(device)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In member function ‘CUstream_st* gloo::CudaDeviceStreams::operator[](int)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:204:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 204 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:159:5: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 159 | GLOO_ENFORCE_LT(i, streams_.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:204:30: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Less(i, ((gloo::CudaDeviceStreams*)this)->gloo::CudaDeviceStreams::streams_.std::vector::size())’ 204 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:159:5: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 159 | GLOO_ENFORCE_LT(i, streams_.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h: In instantiation of ‘gloo::enforce_detail::EnforceFailMessage gloo::enforce_detail::Less(const T1&, const T2&) [with T1 = int; T2 = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_private.h:159:5: required from here 204 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:176:26: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const long unsigned int’ [-Wsign-compare] 176 | BINARY_COMP_HELPER(Less, <) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:167:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 167 | if (x op y) { \ | ^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:359:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:60:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 60 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:87:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 87 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::run() [with T = signed char; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:359:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:137:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 137 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:139:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 139 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:147:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 147 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:149:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 149 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:157:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 157 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:159:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 159 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:168:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 168 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:171:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 171 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:216:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 216 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:219:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 219 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:224:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 224 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:238:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 238 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:266:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 266 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:268:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 268 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::copyChunkAtOffset(int) [with T = signed char; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:359:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:299:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 299 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:359:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:60:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 60 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:87:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 87 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::run() [with T = signed char; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:359:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:137:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 137 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:139:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 139 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:147:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 147 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:149:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 149 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:157:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 157 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:159:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 159 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:168:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 168 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:171:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 171 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:216:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 216 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:219:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 219 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:224:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 224 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:238:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 238 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:266:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 266 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:268:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 268 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::copyChunkAtOffset(int) [with T = signed char; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:359:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:299:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 299 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:360:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:60:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 60 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:87:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 87 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::run() [with T = unsigned char; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:360:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:137:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 137 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:139:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 139 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:147:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 147 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:149:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 149 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:157:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 157 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:159:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 159 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:168:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 168 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:171:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 171 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:216:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 216 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:219:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 219 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:224:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 224 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:238:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 238 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:266:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 266 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:268:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 268 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::copyChunkAtOffset(int) [with T = unsigned char; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:360:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:299:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 299 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:360:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:60:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 60 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:87:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 87 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::run() [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:360:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:137:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 137 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:139:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 139 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:147:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 147 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:149:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 149 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:157:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 157 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:159:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 159 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:168:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 168 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:171:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 171 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:216:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 216 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:219:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 219 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:224:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 224 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:238:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 238 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:266:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 266 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:268:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 268 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::copyChunkAtOffset(int) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:360:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:299:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 299 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:361:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:60:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 60 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:87:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 87 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::run() [with T = int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:361:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:137:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 137 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:139:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 139 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:147:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 147 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:149:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 149 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:157:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 157 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:159:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 159 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:168:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 168 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:171:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 171 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:216:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 216 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:219:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 219 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:224:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 224 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:238:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 238 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:266:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 266 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:268:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 268 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::copyChunkAtOffset(int) [with T = int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:361:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:299:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 299 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:361:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:60:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 60 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:87:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 87 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::run() [with T = int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:361:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:137:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 137 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:139:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 139 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:147:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 147 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:149:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 149 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:157:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 157 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:159:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 159 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:168:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 168 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:171:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 171 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:216:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 216 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:219:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 219 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:224:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 224 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:238:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 238 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:266:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 266 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:268:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 268 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::copyChunkAtOffset(int) [with T = int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:361:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:299:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 299 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:362:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:60:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 60 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:87:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 87 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::run() [with T = long int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:362:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:137:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 137 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:139:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 139 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:147:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 147 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:149:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 149 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:157:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 157 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:159:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 159 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:168:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 168 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:171:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 171 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:216:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 216 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:219:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 219 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:224:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 224 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:238:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 238 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:266:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 266 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:268:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 268 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::copyChunkAtOffset(int) [with T = long int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:362:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:299:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 299 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:362:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:60:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 60 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:87:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 87 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::run() [with T = long int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:362:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:137:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 137 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:139:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 139 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:147:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 147 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:149:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 149 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:157:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 157 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:159:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 159 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:168:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 168 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:171:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 171 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:216:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 216 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:219:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 219 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:224:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 224 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:238:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 238 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:266:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 266 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:268:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 268 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::copyChunkAtOffset(int) [with T = long int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:362:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:299:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 299 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:60:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 60 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:87:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 87 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::run() [with T = long unsigned int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:137:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 137 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:139:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 139 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:147:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 147 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:149:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 149 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:157:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 157 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:159:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 159 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:168:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 168 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:171:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 171 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:216:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 216 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:219:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 219 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:224:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 224 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:238:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 238 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:266:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 266 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:268:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 268 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::copyChunkAtOffset(int) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:299:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 299 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:60:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 60 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:87:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 87 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::run() [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:137:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 137 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:139:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 139 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:147:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 147 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:149:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 149 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:157:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 157 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:159:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 159 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:168:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 168 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:171:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 171 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:216:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 216 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:219:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 219 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:224:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 224 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:238:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 238 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:266:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 266 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:268:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 268 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::copyChunkAtOffset(int) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:299:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 299 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:60:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 60 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:87:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 87 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::run() [with T = float; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:137:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 137 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:139:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 139 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:147:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 147 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:149:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 149 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:157:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 157 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:159:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 159 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:168:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 168 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:171:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 171 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:216:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 216 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:219:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 219 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:224:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 224 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:238:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 238 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:266:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 266 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:268:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 268 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::copyChunkAtOffset(int) [with T = float; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:299:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 299 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:60:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 60 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:87:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 87 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::run() [with T = float; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:137:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 137 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:139:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 139 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:147:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 147 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:149:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 149 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:157:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 157 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:159:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 159 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:168:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 168 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:171:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 171 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:216:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 216 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:219:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 219 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:224:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 224 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:238:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 238 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:266:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 266 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:268:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 268 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::copyChunkAtOffset(int) [with T = float; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:299:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 299 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:60:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 60 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:87:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 87 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::run() [with T = double; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:137:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 137 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:139:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 139 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:147:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 147 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:149:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 149 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:157:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 157 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:159:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 159 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:168:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 168 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:171:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 171 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:216:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 216 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:219:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 219 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:224:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 224 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:238:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 238 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:266:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 266 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:268:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 268 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::copyChunkAtOffset(int) [with T = double; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:299:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 299 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:60:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 60 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:87:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 87 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::run() [with T = double; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:137:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 137 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:139:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 139 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:147:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 147 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:149:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 149 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:157:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 157 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:159:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 159 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:168:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 168 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:171:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 171 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:216:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 216 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:219:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 219 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:224:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 224 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:238:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 238 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:266:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 266 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:268:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 268 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::copyChunkAtOffset(int) [with T = double; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:299:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 299 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:60:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 60 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:87:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 87 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::run() [with T = gloo::float16; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:137:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 137 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:139:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 139 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:147:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 147 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:149:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 149 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:157:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 157 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:159:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 159 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:168:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 168 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:171:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 171 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:216:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 216 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:219:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 219 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:224:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 224 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:238:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 238 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:266:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 266 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:268:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 268 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::copyChunkAtOffset(int) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:299:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 299 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:56:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:60:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 60 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:87:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 87 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::run() [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:137:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 137 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:139:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 139 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:147:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 147 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:149:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 149 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:157:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 157 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:159:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 159 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:168:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 168 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:171:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 171 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:216:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 216 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:219:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 219 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:224:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 224 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:238:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 238 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:266:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 266 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:268:23: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 268 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc: In instantiation of ‘void gloo::CudaAllreduceRingChunked::copyChunkAtOffset(int) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:299:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::ChunkContext, std::allocator >::ChunkContext> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 299 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = signed char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:23: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’ 95 | scratch_.range(offset, length), | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:359:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:359:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:359:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = signed char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:23: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 95 | scratch_.range(offset, length), | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:359:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:359:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:359:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = unsigned char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:23: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 95 | scratch_.range(offset, length), | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:360:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:360:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:360:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = unsigned char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:23: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 95 | scratch_.range(offset, length), | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:360:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:360:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:360:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:23: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 95 | scratch_.range(offset, length), | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:361:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:361:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:361:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:23: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaDeviceWorkspace]’ 95 | scratch_.range(offset, length), | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:361:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaDeviceWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:361:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaDeviceWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:361:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = long int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:23: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’ 95 | scratch_.range(offset, length), | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:362:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:362:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:362:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = long int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:23: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 95 | scratch_.range(offset, length), | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:362:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:362:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:362:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = long unsigned int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:23: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 95 | scratch_.range(offset, length), | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = long unsigned int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:23: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 95 | scratch_.range(offset, length), | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = float; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:23: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 95 | scratch_.range(offset, length), | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = float; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:23: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaDeviceWorkspace]’ 95 | scratch_.range(offset, length), | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaDeviceWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaDeviceWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = double; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:23: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 95 | scratch_.range(offset, length), | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = double; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:23: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaDeviceWorkspace]’ 95 | scratch_.range(offset, length), | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaDeviceWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaDeviceWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaHostPointer gloo::CudaHostPointer::range(size_t, size_t) const [with T = gloo::float16; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:23: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 95 | scratch_.range(offset, length), | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaHostPointer*)this)->gloo::CudaHostPointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:224:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 224 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaHostPointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = gloo::float16; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:23: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 95 | scratch_.range(offset, length), | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:36:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/algorithm.h:14: /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = signed char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = signed char; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:53:37: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’ 53 | fn_(CudaReductionFunction::sum) { | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:359:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ In file included from /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:18, from /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:11: /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = signed char]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:342:52: required from ‘void gloo::CudaAllreduceRingChunked::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = signed char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 342 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 343 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:83:7: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 83 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:359:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = unsigned char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = unsigned char; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:53:37: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 53 | fn_(CudaReductionFunction::sum) { | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:360:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = unsigned char]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:342:52: required from ‘void gloo::CudaAllreduceRingChunked::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = unsigned char; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 342 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 343 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:83:7: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 83 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:360:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = int; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:53:37: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 53 | fn_(CudaReductionFunction::sum) { | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:361:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:342:52: required from ‘void gloo::CudaAllreduceRingChunked::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 342 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 343 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:83:7: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaDeviceWorkspace]’ 83 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:361:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = long int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = long int; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:53:37: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’ 53 | fn_(CudaReductionFunction::sum) { | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:362:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = long int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:342:52: required from ‘void gloo::CudaAllreduceRingChunked::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 342 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 343 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:83:7: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 83 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:362:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = long unsigned int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:53:37: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 53 | fn_(CudaReductionFunction::sum) { | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:342:52: required from ‘void gloo::CudaAllreduceRingChunked::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = long unsigned int; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 342 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 343 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:83:7: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 83 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = float; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = float; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:53:37: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 53 | fn_(CudaReductionFunction::sum) { | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = float]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:342:52: required from ‘void gloo::CudaAllreduceRingChunked::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = float; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 342 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 343 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:83:7: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaDeviceWorkspace]’ 83 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = double; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = double; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:53:37: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 53 | fn_(CudaReductionFunction::sum) { | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = double]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:342:52: required from ‘void gloo::CudaAllreduceRingChunked::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = double; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 342 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 343 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:83:7: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaDeviceWorkspace]’ 83 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h: In instantiation of ‘void gloo::sum(void*, const void*, const void*, size_t) [with T = float16; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/math.h:28:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = float16; size_t = long unsigned int]’ 28 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:346:5: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 346 | new CudaReductionFunction(SUM, &::gloo::cudaSum, &::gloo::sum); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:53:37: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 53 | fn_(CudaReductionFunction::sum) { | ^~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/math.h:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 21 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = float16]’: /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:342:52: required from ‘void gloo::CudaAllreduceRingChunked::init(typename std::enable_if >::value, typename U::Pointer>::type*) [with U = gloo::CudaDeviceWorkspace; T = gloo::float16; W = gloo::CudaDeviceWorkspace; typename std::enable_if >::value, typename U::Pointer>::type = gloo::CudaDevicePointer; typename U::Pointer = gloo::CudaDevicePointer]’ 342 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 343 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:83:7: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 83 | init(); | ~~~~^~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:73:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 73 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:91:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:21: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = signed char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:359:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:359:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:360:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:360:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaDeviceWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:361:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaDeviceWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:361:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:362:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:362:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = float; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaDeviceWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = float; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaDeviceWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = double; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaDeviceWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = double; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaDeviceWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaDevicePointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:52:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 58 | GLOO_ENFORCE_GE(root, 0, "targetPtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 357 | template class CudaAllreduceRingChunked>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:359:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:360:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = int; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:361:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = long int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:362:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = float; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = float; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = double; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = double; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = float16; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = signed char]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:102:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 102 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:359:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = signed char]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:199:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 199 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 200 | toDeviceElements(streams, devicePtrs, offset, count), root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaHostPointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:359:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = unsigned char]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:102:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 102 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:360:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = unsigned char]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:199:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 199 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 200 | toDeviceElements(streams, devicePtrs, offset, count), root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaHostPointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:360:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:102:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = int; size_t = long unsigned int]’ 102 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:361:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:199:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = int; size_t = long unsigned int]’ 199 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 200 | toDeviceElements(streams, devicePtrs, offset, count), root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaHostPointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:361:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = long int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:102:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 102 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:362:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = long int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:199:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 199 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 200 | toDeviceElements(streams, devicePtrs, offset, count), root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaHostPointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:362:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:102:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 102 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:199:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 199 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 200 | toDeviceElements(streams, devicePtrs, offset, count), root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaHostPointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = float]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:102:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = float; size_t = long unsigned int]’ 102 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = float]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:199:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = float; size_t = long unsigned int]’ 199 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 200 | toDeviceElements(streams, devicePtrs, offset, count), root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaHostPointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = double]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:102:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = double; size_t = long unsigned int]’ 102 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = double]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:199:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = double; size_t = long unsigned int]’ 199 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 200 | toDeviceElements(streams, devicePtrs, offset, count), root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaHostPointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::ReduceOp::ReduceOp(gloo::nccl::NCCLExecution&&, const gloo::CudaReductionFunction*, int) [with T = gloo::float16]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::ReduceOp; _Args = {vector, allocator > >, const gloo::CudaReductionFunction*&, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:102:49: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 102 | reduceOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:136:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 136 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = gloo::float16]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, const int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:199:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 199 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 200 | toDeviceElements(streams, devicePtrs, offset, count), root_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaHostPointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:97:28: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 97 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = signed char]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = signed char; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:359:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = unsigned char]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = unsigned char; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:360:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = int]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = int; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = int; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:361:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = long int]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:362:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = long unsigned int]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = long unsigned int; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = float]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = float; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = float; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = double]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = double; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = double; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = double; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = gloo::float16]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = float16; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:103:27: required from ‘gloo::CudaLocalNCCLReduce >::CudaLocalNCCLReduce(std::vector&, std::vector >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 103 | toDeviceElements(streams, devicePtrs, offset, count), fn, root_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLReduce >; _Args = {vector >&, vector, allocator > >&, gloo::CudaHostPointer&, const gloo::CudaReductionFunction*&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:45:50: required from ‘std::unique_ptr > gloo::cudaDeviceReduce(std::vector&, std::vector >&, Dst&, const CudaReductionFunction*, size_t, size_t) [with T = float16; Dst = CudaHostPointer; size_t = long unsigned int]’ 45 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 46 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:25: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 356 | template class CudaAllreduceRingChunked>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/math.h:12: /builddir/build/BUILD/gloo/gloo/types.h: In function ‘gloo::cpu_half2float(gloo::float16)’: /builddir/build/BUILD/gloo/gloo/types.h:335:19: warning: ‘temp’ is used uninitialized [-Wuninitialized] 335 | return *(float*)rp; | ^~ /builddir/build/BUILD/gloo/gloo/types.h:332:12: note: ‘temp’ declared here 332 | unsigned temp = ((sign << 31) | (exponent << 23) | mantissa); | ^~~~ [ 98%] Building CXX object gloo/CMakeFiles/gloo_cuda.dir/cuda_broadcast_one_to_all.cc.o In file included from /builddir/build/BUILD/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo/gloo/algorithm.h:13, from /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.h:11, from /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:9: /builddir/build/BUILD/gloo/gloo/cuda_private.h: In function ‘int gloo::getCurrentGPUID()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:46:3: note: in expansion of macro ‘CUDA_CHECK’ 46 | CUDA_CHECK(cudaGetDevice(&id)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:46:3: note: in expansion of macro ‘CUDA_CHECK’ 46 | CUDA_CHECK(cudaGetDevice(&id)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In function ‘int gloo::getGPUIDForPointer(const void*)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:52:3: note: in expansion of macro ‘CUDA_CHECK’ 52 | CUDA_CHECK(cudaPointerGetAttributes(&attr, ptr)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:52:3: note: in expansion of macro ‘CUDA_CHECK’ 52 | CUDA_CHECK(cudaPointerGetAttributes(&attr, ptr)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In function ‘int gloo::getDeviceCount()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:58:3: note: in expansion of macro ‘CUDA_CHECK’ 58 | CUDA_CHECK(cudaGetDeviceCount(&count)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:58:3: note: in expansion of macro ‘CUDA_CHECK’ 58 | CUDA_CHECK(cudaGetDeviceCount(&count)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In destructor ‘gloo::CudaDeviceGuard::~CudaDeviceGuard()’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:107:5: note: in expansion of macro ‘CUDA_CHECK’ 107 | CUDA_CHECK(cudaSetDevice(previous_)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:107:5: note: in expansion of macro ‘CUDA_CHECK’ 107 | CUDA_CHECK(cudaSetDevice(previous_)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In constructor ‘gloo::CudaDeviceScope::CudaDeviceScope(int)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:117:5: note: in expansion of macro ‘CUDA_CHECK’ 117 | CUDA_CHECK(cudaSetDevice(device)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:33:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 33 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:117:5: note: in expansion of macro ‘CUDA_CHECK’ 117 | CUDA_CHECK(cudaSetDevice(device)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h: In member function ‘CUstream_st* gloo::CudaDeviceStreams::operator[](int)’: /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:204:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 204 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:159:5: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 159 | GLOO_ENFORCE_LT(i, streams_.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:204:30: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Less(i, ((gloo::CudaDeviceStreams*)this)->gloo::CudaDeviceStreams::streams_.std::vector::size())’ 204 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_private.h:159:5: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 159 | GLOO_ENFORCE_LT(i, streams_.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h: In instantiation of ‘gloo::enforce_detail::EnforceFailMessage gloo::enforce_detail::Less(const T1&, const T2&) [with T1 = int; T2 = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_private.h:159:5: required from here 204 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:176:26: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const long unsigned int’ [-Wsign-compare] 176 | BINARY_COMP_HELPER(Less, <) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:167:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 167 | if (x op y) { \ | ^~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc: In instantiation of ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:191:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:39:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 39 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc: In instantiation of ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = signed char; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:191:1: required from here 189 | template class CudaBroadcastOneToAll>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:39:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 39 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc: In instantiation of ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:192:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:39:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 39 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc: In instantiation of ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:192:1: required from here 189 | template class CudaBroadcastOneToAll>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:39:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 39 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc: In instantiation of ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:193:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:39:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 39 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc: In instantiation of ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:193:1: required from here 189 | template class CudaBroadcastOneToAll>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:39:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 39 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc: In instantiation of ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:194:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:39:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 39 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc: In instantiation of ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = long int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:194:1: required from here 189 | template class CudaBroadcastOneToAll>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:39:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 39 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc: In instantiation of ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:195:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:39:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 39 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc: In instantiation of ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:195:1: required from here 189 | template class CudaBroadcastOneToAll>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:39:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 39 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc: In instantiation of ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:196:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:39:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 39 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc: In instantiation of ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = float; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:196:1: required from here 189 | template class CudaBroadcastOneToAll>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:39:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 39 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc: In instantiation of ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:197:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:39:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 39 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc: In instantiation of ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = double; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:197:1: required from here 189 | template class CudaBroadcastOneToAll>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:39:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 39 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc: In instantiation of ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:198:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:39:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 39 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc: In instantiation of ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:198:1: required from here 189 | template class CudaBroadcastOneToAll>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:30:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 30 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& ptrs)->std::vector >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:35:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 35 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:39:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 39 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:191:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:192:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:193:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:194:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:195:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:196:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:197:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h: In instantiation of ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaDevicePointer; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:198:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:60:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 60 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:21, from /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:11: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:191:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:192:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:193:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:194:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:195:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = float; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:196:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = double; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:197:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:198:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:150:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 150 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:206:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 206 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:156:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 156 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = signed char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:257:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = signed char; Src = gloo::CudaDevicePointer; Dst = gloo::CudaDevicePointer; size_t = long unsigned int]’ 257 | src_(src.range(offset, count)), | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaDevicePointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaDevicePointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:64:70: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaDevicePointer; size_t = long unsigned int]’ 64 | return make_unique>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 65 | streams[0], sourcePtr, devicePtrs[0], offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:191:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:162:27: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:191:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = unsigned char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:257:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = unsigned char; Src = gloo::CudaDevicePointer; Dst = gloo::CudaDevicePointer; size_t = long unsigned int]’ 257 | src_(src.range(offset, count)), | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaDevicePointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaDevicePointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:64:70: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaDevicePointer; size_t = long unsigned int]’ 64 | return make_unique>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 65 | streams[0], sourcePtr, devicePtrs[0], offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:192:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:162:27: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:192:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:257:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = int; Src = gloo::CudaDevicePointer; Dst = gloo::CudaDevicePointer; size_t = long unsigned int]’ 257 | src_(src.range(offset, count)), | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaDevicePointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaDevicePointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:64:70: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaDevicePointer; size_t = long unsigned int]’ 64 | return make_unique>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 65 | streams[0], sourcePtr, devicePtrs[0], offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:193:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:162:27: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = int; size_t = long unsigned int]’ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:193:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = long int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:257:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = long int; Src = gloo::CudaDevicePointer; Dst = gloo::CudaDevicePointer; size_t = long unsigned int]’ 257 | src_(src.range(offset, count)), | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaDevicePointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaDevicePointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:64:70: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaDevicePointer; size_t = long unsigned int]’ 64 | return make_unique>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 65 | streams[0], sourcePtr, devicePtrs[0], offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:194:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = long int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:162:27: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:194:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = long unsigned int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:257:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = long unsigned int; Src = gloo::CudaDevicePointer; Dst = gloo::CudaDevicePointer; size_t = long unsigned int]’ 257 | src_(src.range(offset, count)), | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaDevicePointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaDevicePointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:64:70: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaDevicePointer; size_t = long unsigned int]’ 64 | return make_unique>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 65 | streams[0], sourcePtr, devicePtrs[0], offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:195:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:162:27: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:195:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = float; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:257:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = float; Src = gloo::CudaDevicePointer; Dst = gloo::CudaDevicePointer; size_t = long unsigned int]’ 257 | src_(src.range(offset, count)), | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaDevicePointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaDevicePointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:64:70: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaDevicePointer; size_t = long unsigned int]’ 64 | return make_unique>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 65 | streams[0], sourcePtr, devicePtrs[0], offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:196:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = float; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:162:27: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = float; size_t = long unsigned int]’ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:196:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = double; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:257:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = double; Src = gloo::CudaDevicePointer; Dst = gloo::CudaDevicePointer; size_t = long unsigned int]’ 257 | src_(src.range(offset, count)), | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaDevicePointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaDevicePointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:64:70: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaDevicePointer; size_t = long unsigned int]’ 64 | return make_unique>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 65 | streams[0], sourcePtr, devicePtrs[0], offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:197:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = double; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:162:27: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = double; size_t = long unsigned int]’ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:197:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h: In instantiation of ‘gloo::CudaDevicePointer gloo::CudaDevicePointer::range(size_t, size_t) const [with T = gloo::float16; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda.h:257:23: required from ‘gloo::CudaLocalMemcpy::CudaLocalMemcpy(gloo::CudaStream&, Src&, Dst&, size_t, size_t) [with T = gloo::float16; Src = gloo::CudaDevicePointer; Dst = gloo::CudaDevicePointer; size_t = long unsigned int]’ 257 | src_(src.range(offset, count)), | ~~~~~~~~~^~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalMemcpy, gloo::CudaDevicePointer >; _Args = {gloo::CudaStream&, gloo::CudaDevicePointer&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t, gloo::CudaDevicePointer > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:64:70: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaDevicePointer; size_t = long unsigned int]’ 64 | return make_unique>>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 65 | streams[0], sourcePtr, devicePtrs[0], offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:198:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:202:36: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::LessEquals((offset + count), ((const gloo::CudaDevicePointer*)this)->gloo::CudaDevicePointer::count_)’ 202 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda.h:162:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 162 | GLOO_ENFORCE_LE(offset + count, count_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h: In instantiation of ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = float16; size_t = long unsigned int]’: /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:162:27: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:198:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:25:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 25 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = signed char]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:161:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 161 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:191:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = unsigned char]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:161:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 161 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:192:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:161:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = int; size_t = long unsigned int]’ 161 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:193:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = long int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:161:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 161 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:194:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = long unsigned int]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:161:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 161 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:195:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = float]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:161:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = float; size_t = long unsigned int]’ 161 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:196:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = double]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:161:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = double; size_t = long unsigned int]’ 161 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:197:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::BroadcastOp::BroadcastOp(gloo::nccl::NCCLExecution&&, int) [with T = gloo::float16]’: /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::nccl::BroadcastOp; _Args = {vector, allocator > >, int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:161:55: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 161 | broadcastOp_ = make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:198:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(element.gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), element.gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:198:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 198 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = signed char]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:162:27: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = signed char; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:191:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = unsigned char]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:162:27: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = unsigned char; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:192:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = int]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = int; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:162:27: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = int; size_t = long unsigned int]’ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:193:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = long int]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:162:27: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:194:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = long unsigned int]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:162:27: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = long unsigned int; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:195:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = float]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = float; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:162:27: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = float; size_t = long unsigned int]’ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:196:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = double]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = double; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:162:27: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = double; size_t = long unsigned int]’ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = double; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:197:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h: In instantiation of ‘gloo::nccl::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = gloo::float16]’: /usr/include/c++/14/bits/stl_construct.h:97:14: required from ‘constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; decltype (::new(void*(0)) _Tp) = gloo::nccl::NCCLElement*]’ 97 | { return ::new((void*)__location) _Tp(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:577:21: required from ‘static constexpr void std::allocator_traits >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; allocator_type = std::allocator >]’ 577 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘constexpr std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement; _Alloc = std::allocator >; reference = gloo::nccl::NCCLElement&]’ 117 | _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 118 | std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:26:26: required from ‘std::vector > gloo::toDeviceElements(std::vector&, const std::vector >&, size_t, size_t) [with T = float16; size_t = long unsigned int]’ 26 | elements.emplace_back( | ~~~~~~~~~~~~~~~~~~~~~^ 27 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 28 | streams[i], | ~~~~~~~~~~~ 29 | ptrs[i].range(offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | streams[i]); | ~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_nccl.h:162:27: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 162 | toDeviceElements(streams, devicePtrs, offset, count), root); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.h:1076:30: required from ‘std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = gloo::CudaLocalNCCLBroadcast >; _Args = {vector >&, vector, allocator > >&, gloo::CudaDevicePointer&, long unsigned int&, long unsigned int&}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t > >]’ 1076 | { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_collectives_device.h:69:53: required from ‘std::unique_ptr > gloo::cudaDeviceBroadcast(std::vector&, std::vector >&, Src&, size_t, size_t) [with T = float16; Src = CudaDevicePointer; size_t = long unsigned int]’ 69 | return make_unique>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 70 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:81:44: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 81 | localBroadcastOp_ = cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 82 | streams_, devicePtrs_, devicePtrs_[rootPointerRank], 0, count_); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/cuda_broadcast_one_to_all.cc:198:1: required from here 188 | template class CudaBroadcastOneToAll>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getCount(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getCount())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:55:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 55 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::src.gloo::CudaDevicePointer::getDeviceID(), ((gloo::nccl::NCCLElement*)this)->gloo::nccl::NCCLElement::dst.gloo::CudaDevicePointer::getDeviceID())’ 198 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:183:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 183 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/nccl/nccl.h:59:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 59 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ [100%] Linking CXX shared library libgloo_cuda.so [100%] Built target gloo_cuda + popd ~/build/BUILD/gloo + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.bF029H + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64 '!=' / ']' + rm -rf /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64 ++ dirname /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64 + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd gloo + rm -rf /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64 + pushd build ~/build/BUILD/gloo/build ~/build/BUILD/gloo + make install DESTDIR=/builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64 -- Gloo build as SHARED library -- CUDA detected: 13.2 -- Added CUDA NVCC flags for: compute_75 compute_86 compute_90 compute_120 -- Determining NCCL version from the header file: /usr/include/nccl.h -- NCCL_MAJOR_VERSION: 2 -- Found NCCL (include: /usr/include, library: /lib64/libnccl.so) -- GLOO_USE_TORCH_DTYPES : OFF -- Configuring done (0.0s) -- Generating done (0.0s) -- Build files have been written to: /builddir/build/BUILD/gloo/build [ 85%] Built target gloo [ 86%] Linking CXX shared library libgloo_cuda.so [100%] Built target gloo_cuda Install the project... -- Install configuration: "RelWithDebInfo" -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/lib64/libgloo.so.1.0 -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/lib64/libgloo.so.1 -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/lib64/libgloo.so -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/lib64/libgloo_cuda.so.1.0 -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/lib64/libgloo_cuda.so.1 -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/lib64/libgloo_cuda.so -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/config.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/algorithm.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/allgather.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/allgather_ring.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/allgatherv.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/allreduce.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/allreduce_bcube.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/allreduce_halving_doubling.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/allreduce_local.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/allreduce_ring.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/allreduce_ring_chunked.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/alltoall.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/alltoallv.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/barrier.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/barrier_all_to_all.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/barrier_all_to_one.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/broadcast.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/broadcast_one_to_all.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/context.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/gather.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/math.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/pairwise_exchange.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/reduce.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/reduce_scatter.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/scatter.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/types.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/common/aligned_allocator.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/common/common.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/common/error.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/common/logging.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/common/store.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/common/string.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/common/utils.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/common/linux.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/common/linux_devices.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/rendezvous/file_store.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/rendezvous/hash_store.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/rendezvous/prefix_store.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/rendezvous/store.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/rendezvous/context.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/rendezvous/redis_store.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/address.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/buffer.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/context.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/device.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/pair.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/remote_key.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/unbound_buffer.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/tcp/address.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/tcp/attr.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/tcp/buffer.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/tcp/context.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/tcp/debug_data.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/tcp/debug_logger.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/tcp/device.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/tcp/error.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/tcp/helpers.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/tcp/listener.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/tcp/loop.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/tcp/pair.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/tcp/socket.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/tcp/unbound_buffer.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/ibverbs/address.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/ibverbs/buffer.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/ibverbs/context.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/ibverbs/device.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/ibverbs/memory_region.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/ibverbs/pair.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/ibverbs/remote_key.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/ibverbs/unbound_buffer.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/uv/address.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/uv/device.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/uv/context.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/uv/libuv.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/uv/pair.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/transport/uv/unbound_buffer.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/cuda.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/cuda_allreduce_bcube.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/cuda_allreduce_halving_doubling.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/cuda_allreduce_halving_doubling_pipelined.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/cuda_allreduce_local.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/cuda_allreduce_ring.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/cuda_allreduce_ring_chunked.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/cuda_broadcast_one_to_all.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/cuda_collectives_device.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/cuda_collectives_host.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/cuda_collectives_native.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/cuda_collectives_nccl.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/cuda_private.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/cuda_workspace.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/include/gloo/nccl/nccl.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/share/cmake/Gloo/GlooConfig.cmake -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/share/cmake/Gloo/GlooConfigVersion.cmake -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/share/cmake/Gloo/GlooTargets.cmake -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/share/cmake/Gloo/GlooTargets-relwithdebinfo.cmake + popd ~/build/BUILD/gloo + /usr/bin/find-debuginfo -j4 --strict-build-id -m -i --build-id-seed 0.5.0-20260421.0.git70dc3602.cu13_2.el10 --unique-debug-suffix -0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64 --unique-debug-src-base gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /builddir/build/BUILD/gloo find-debuginfo: starting Extracting debug info from 2 files DWARF-compressing 2 files sepdebugcrcfix: Updated 2 CRC32s, 0 CRC32s did match. Creating .debug symlinks for symlinks to ELF files Copying sources found by 'debugedit -l' to /usr/src/debug/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64 find-debuginfo: done + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + /usr/lib/rpm/redhat/brp-python-rpm-in-distinfo + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j4 + /usr/lib/rpm/redhat/brp-python-hardlink Processing files: gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64 Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.Lwn2Oe + umask 022 + cd /builddir/build/BUILD + cd gloo + DOCDIR=/builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/share/doc/gloo + export LC_ALL= + LC_ALL= + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/share/doc/gloo + cp -pr /builddir/build/BUILD/gloo/README.md /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/share/doc/gloo + RPM_EC=0 ++ jobs -p + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.zlXSBv + umask 022 + cd /builddir/build/BUILD + cd gloo + LICENSEDIR=/builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/share/licenses/gloo + export LC_ALL= + LC_ALL= + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/share/licenses/gloo + cp -pr /builddir/build/BUILD/gloo/LICENSE /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/share/licenses/gloo + RPM_EC=0 ++ jobs -p + exit 0 Provides: gloo = 1:0.5.0-20260421.0.git70dc3602.cu13_2.el10 gloo(aarch-64) = 1:0.5.0-20260421.0.git70dc3602.cu13_2.el10 libgloo.so.1()(64bit) libgloo_cuda.so.1()(64bit) Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libc.so.6(GLIBC_2.32)(64bit) libc.so.6(GLIBC_2.34)(64bit) libc.so.6(GLIBC_ABI_DT_RELR)(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libgloo.so.1()(64bit) libhiredis.so.1.1.0()(64bit) libibverbs.so.1()(64bit) libibverbs.so.1(IBVERBS_1.0)(64bit) libibverbs.so.1(IBVERBS_1.1)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.29)(64bit) libnccl.so.2()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.11)(64bit) libstdc++.so.6(CXXABI_1.3.13)(64bit) libstdc++.so.6(CXXABI_1.3.15)(64bit) libstdc++.so.6(CXXABI_1.3.3)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.11)(64bit) libstdc++.so.6(GLIBCXX_3.4.14)(64bit) libstdc++.so.6(GLIBCXX_3.4.15)(64bit) libstdc++.so.6(GLIBCXX_3.4.18)(64bit) libstdc++.so.6(GLIBCXX_3.4.19)(64bit) libstdc++.so.6(GLIBCXX_3.4.20)(64bit) libstdc++.so.6(GLIBCXX_3.4.21)(64bit) libstdc++.so.6(GLIBCXX_3.4.22)(64bit) libstdc++.so.6(GLIBCXX_3.4.26)(64bit) libstdc++.so.6(GLIBCXX_3.4.29)(64bit) libstdc++.so.6(GLIBCXX_3.4.30)(64bit) libstdc++.so.6(GLIBCXX_3.4.32)(64bit) libstdc++.so.6(GLIBCXX_3.4.5)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit) libuv.so.1()(64bit) rtld(GNU_HASH) Processing files: gloo-devel-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64 Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.7XDonO + umask 022 + cd /builddir/build/BUILD + cd gloo + DOCDIR=/builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/share/doc/gloo-devel + export LC_ALL= + LC_ALL= + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/share/doc/gloo-devel + cp -pr /builddir/build/BUILD/gloo/README.md /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/share/doc/gloo-devel + RPM_EC=0 ++ jobs -p + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.mnKasc + umask 022 + cd /builddir/build/BUILD + cd gloo + LICENSEDIR=/builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/share/licenses/gloo-devel + export LC_ALL= + LC_ALL= + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/share/licenses/gloo-devel + cp -pr /builddir/build/BUILD/gloo/LICENSE /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64/usr/share/licenses/gloo-devel + RPM_EC=0 ++ jobs -p + exit 0 Provides: cmake(Gloo) = 0.5.0 cmake(gloo) = 0.5.0 gloo-devel = 1:0.5.0-20260421.0.git70dc3602.cu13_2.el10 gloo-devel(aarch-64) = 1:0.5.0-20260421.0.git70dc3602.cu13_2.el10 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: cmake-filesystem libgloo.so.1()(64bit) libgloo_cuda.so.1()(64bit) Processing files: gloo-debugsource-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64 Provides: gloo-debugsource = 1:0.5.0-20260421.0.git70dc3602.cu13_2.el10 gloo-debugsource(aarch-64) = 1:0.5.0-20260421.0.git70dc3602.cu13_2.el10 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Processing files: gloo-debuginfo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64 Provides: debuginfo(build-id) = 50d5e559857d6d1c17f68aee6349b9136502f591 debuginfo(build-id) = 510d244be25686aea195a6644832ad62f80764cd gloo-debuginfo = 1:0.5.0-20260421.0.git70dc3602.cu13_2.el10 gloo-debuginfo(aarch-64) = 1:0.5.0-20260421.0.git70dc3602.cu13_2.el10 libgloo.so.1.0-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64.debug()(64bit) libgloo_cuda.so.1.0-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64.debug()(64bit) Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Recommends: gloo-debugsource(aarch-64) = 1:0.5.0-20260421.0.git70dc3602.cu13_2.el10 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64 Wrote: /builddir/build/RPMS/gloo-devel-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64.rpm Wrote: /builddir/build/RPMS/gloo-debugsource-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64.rpm Wrote: /builddir/build/RPMS/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64.rpm Wrote: /builddir/build/RPMS/gloo-debuginfo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.1lfy7g + umask 022 + cd /builddir/build/BUILD + cd gloo + /usr/bin/rm -rf /builddir/build/BUILDROOT/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.aarch64 + RPM_EC=0 ++ jobs -p + exit 0 Executing(rmbuild): /bin/sh -e /var/tmp/rpm-tmp.na17zA + umask 022 + cd /builddir/build/BUILD + rm -rf /builddir/build/BUILD/gloo-SPECPARTS + rm -rf gloo gloo.gemspec + RPM_EC=0 ++ jobs -p + exit 0 Finish: rpmbuild gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.src.rpm Finish: build phase for gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.src.rpm INFO: chroot_scan: 3 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/centos-stream+epel-10-aarch64-1776824127.065540/root/var/log/dnf.rpm.log /var/lib/mock/centos-stream+epel-10-aarch64-1776824127.065540/root/var/log/dnf.librepo.log /var/lib/mock/centos-stream+epel-10-aarch64-1776824127.065540/root/var/log/dnf.log INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz /bin/tar: Removing leading `/' from member names INFO: Done(/var/lib/copr-rpmbuild/results/gloo-0.5.0-20260421.0.git70dc3602.cu13_2.el10.src.rpm) Config(child) 2 minutes 48 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_success=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot Finish: run Running RPMResults tool Package info: { "packages": [ { "name": "gloo-debuginfo", "epoch": 1, "version": "0.5.0", "release": "20260421.0.git70dc3602.cu13_2.el10", "arch": "aarch64" }, { "name": "gloo-devel", "epoch": 1, "version": "0.5.0", "release": "20260421.0.git70dc3602.cu13_2.el10", "arch": "aarch64" }, { "name": "gloo", "epoch": 1, "version": "0.5.0", "release": "20260421.0.git70dc3602.cu13_2.el10", "arch": "src" }, { "name": "gloo", "epoch": 1, "version": "0.5.0", "release": "20260421.0.git70dc3602.cu13_2.el10", "arch": "aarch64" }, { "name": "gloo-debugsource", "epoch": 1, "version": "0.5.0", "release": "20260421.0.git70dc3602.cu13_2.el10", "arch": "aarch64" } ] } RPMResults finished