Warning: Permanently added '44.211.86.62' (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/9988562-epel-10-x86_64 --chroot epel-10-x86_64 Version: 1.6 PID: 8666 Logging PID: 8668 Task: {'allow_user_ssh': False, 'appstream': False, 'background': False, 'build_id': 9988562, 'buildroot_pkgs': [], 'chroot': 'epel-10-x86_64', 'enable_net': True, 'fedora_review': False, 'git_hash': '72e6b7e8704c70dda1caf17ba731e1243a4a4e49', '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-20260108.0.git59945460.cu13_1', 'project_dirname': 'ML', 'project_name': 'ML', 'project_owner': 'rezso', 'repo_priority': None, 'repos': [{'baseurl': 'https://download.copr.fedorainfracloud.org/results/rezso/ML/epel-10-x86_64/', 'id': 'copr_base', 'name': 'Copr repository', 'priority': None}, {'baseurl': 'https://download.copr.fedorainfracloud.org/results/rezso/CUDA/epel-10-x86_64/', 'id': 'copr_rezso_CUDA', 'name': 'Additional repo copr_rezso_CUDA'}, {'baseurl': 'https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64', 'id': 'https_developer_download_nvidia_com_compute_cuda_repos_rhel9_x86_64', 'name': 'Additional repo https_developer_download_nvidia_com_compute_cuda_repos_rhel9_x86_64'}, {'baseurl': 'https://developer.download.nvidia.com/compute/cuda/repos/rhel9/sbsa', 'id': 'https_developer_download_nvidia_com_compute_cuda_repos_rhel9_sbsa', 'name': 'Additional repo https_developer_download_nvidia_com_compute_cuda_repos_rhel9_sbsa'}], 'sandbox': 'rezso/ML--rezso', 'source_json': {}, 'source_type': None, 'ssh_public_keys': None, 'storage': 0, 'submitter': 'rezso', 'tags': [], 'task_id': '9988562-epel-10-x86_64', '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-he8cx9tn/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-he8cx9tn/gloo', '--depth', '500', '--no-single-branch', '--recursive'] cwd: . rc: 0 stdout: stderr: Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-he8cx9tn/gloo'... Running: git checkout 72e6b7e8704c70dda1caf17ba731e1243a4a4e49 -- cmd: ['git', 'checkout', '72e6b7e8704c70dda1caf17ba731e1243a4a4e49', '--'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-he8cx9tn/gloo rc: 0 stdout: stderr: Note: switching to '72e6b7e8704c70dda1caf17ba731e1243a4a4e49'. 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 72e6b7e automatic import of gloo Running: dist-git-client sources cmd: ['dist-git-client', 'sources'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-he8cx9tn/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-he8cx9tn/gloo/gloo.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-he8cx9tn/gloo --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1767922043.759345 -r /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: mock.py version 6.6 starting (python version = 3.13.7, NVR = mock-6.6-1.fc42), args: /usr/libexec/mock/mock --spec /var/lib/copr-rpmbuild/workspace/workdir-he8cx9tn/gloo/gloo.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-he8cx9tn/gloo --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1767922043.759345 -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-he8cx9tn/gloo/gloo.spec) Config(centos-stream+epel-10-x86_64) Start: clean chroot Finish: clean chroot Mock Version: 6.6 INFO: Mock Version: 6.6 Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/centos-stream+epel-10-x86_64-bootstrap-1767922043.759345/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-e10b869e-ac03-45e2-9e69-70935336390c INFO: Checking that e9ac565bc256ac91e505e7fe1aa75c083595441c44404cb8af99952d2c63f028 image matches host's architecture INFO: Copy content of container e9ac565bc256ac91e505e7fe1aa75c083595441c44404cb8af99952d2c63f028 to /var/lib/mock/centos-stream+epel-10-x86_64-bootstrap-1767922043.759345/root INFO: mounting e9ac565bc256ac91e505e7fe1aa75c083595441c44404cb8af99952d2c63f028 with podman image mount INFO: image e9ac565bc256ac91e505e7fe1aa75c083595441c44404cb8af99952d2c63f028 as /var/lib/containers/storage/overlay/5d2df024711fdb82b5251e1d0cfae2a0b4423b0afacaf1b18238327687735585/merged INFO: umounting image e9ac565bc256ac91e505e7fe1aa75c083595441c44404cb8af99952d2c63f028 (/var/lib/containers/storage/overlay/5d2df024711fdb82b5251e1d0cfae2a0b4423b0afacaf1b18238327687735585/merged) with podman image umount INFO: Removing image mock-bootstrap-e10b869e-ac03-45e2-9e69-70935336390c 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-x86_64-1767922043.759345/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-21.el10.x86_64 rpm-sequoia-1.9.0.3-1.el10.x86_64 python3-dnf-4.20.0-18.el10.noarch python3-dnf-plugins-core-4.7.0-10.el10.noarch yum-4.20.0-18.el10.noarch Start: installing minimal buildroot with dnf No matches found for the following disable plugin patterns: local, spacewalk, versionlock Copr repository 753 kB/s | 61 kB 00:00 Additional repo copr_rezso_CUDA 20 kB/s | 6.3 kB 00:00 Additional repo https_developer_download_nvidia 18 MB/s | 862 kB 00:00 Additional repo https_developer_download_nvidia 2.7 MB/s | 631 kB 00:00 CentOS Stream 10 - BaseOS 9.2 MB/s | 6.8 MB 00:00 CentOS Stream 10 - AppStream 5.0 MB/s | 3.5 MB 00:00 CentOS Stream 10 - CRB 3.4 MB/s | 780 kB 00:00 CentOS Stream 10 - Extras packages 19 kB/s | 8.3 kB 00:00 Extra Packages for Enterprise Linux 10 - x86_64 18 MB/s | 6.1 MB 00:00 Dependencies resolved. ================================================================================ Package Arch Version Repo Size ================================================================================ Installing: bash x86_64 5.2.26-6.el10 baseos 1.8 M bzip2 x86_64 1.0.8-25.el10 baseos 54 k centos-stream-release noarch 10.0-16.el10 baseos 29 k coreutils x86_64 9.5-6.el10 baseos 1.1 M cpio x86_64 2.15-3.el10 baseos 292 k diffutils x86_64 3.10-8.el10 baseos 409 k epel-rpm-macros noarch 10-6.el10_2 epel 8.2 k findutils x86_64 1:4.10.0-5.el10 baseos 551 k gawk x86_64 5.3.0-6.el10 baseos 1.1 M glibc-minimal-langpack x86_64 2.39-91.el10 baseos 41 k grep x86_64 3.11-10.el10 baseos 301 k gzip x86_64 1.13-3.el10 baseos 170 k info x86_64 7.1-6.el10 baseos 183 k patch x86_64 2.7.6-26.el10 appstream 132 k redhat-rpm-config noarch 293-1.el10 appstream 77 k rpm-build x86_64 4.19.1.1-21.el10 appstream 75 k sed x86_64 4.9-3.el10 baseos 318 k shadow-utils x86_64 2:4.15.0-9.el10 baseos 1.3 M tar x86_64 2:1.35-9.el10 baseos 865 k unzip x86_64 6.0-69.el10 baseos 190 k util-linux x86_64 2.40.2-13.el10 baseos 1.3 M which x86_64 2.21-44.el10 baseos 42 k xz x86_64 1:5.6.2-4.el10 baseos 481 k Installing dependencies: alternatives x86_64 1.30-2.el10 baseos 42 k ansible-srpm-macros noarch 1-16.1.el10_0 epel 20 k audit-libs x86_64 4.0.3-4.el10 baseos 133 k authselect x86_64 1.5.0-8.el10 baseos 144 k authselect-libs x86_64 1.5.0-8.el10 baseos 223 k basesystem noarch 11-22.el10 baseos 4.3 k binutils x86_64 2.41-60.el10 baseos 6.4 M binutils-gold x86_64 2.41-60.el10 baseos 797 k bzip2-libs x86_64 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-16.el10 baseos 26 k centos-stream-repos noarch 10.0-16.el10 baseos 12 k coreutils-common x86_64 9.5-6.el10 baseos 2.1 M cracklib x86_64 2.9.11-8.el10 baseos 96 k cracklib-dicts x86_64 2.9.11-8.el10 baseos 3.6 M crypto-policies noarch 20251127-1.git27c2902.el10 baseos 98 k curl x86_64 8.12.1-4.el10 baseos 217 k cyrus-sasl-lib x86_64 2.1.28-27.el10 baseos 106 k debugedit x86_64 5.1-8.el10 appstream 80 k dwz x86_64 0.16-1.el10 appstream 140 k ed x86_64 1.20-5.el10 baseos 83 k efi-srpm-macros noarch 6-6.el10 appstream 24 k elfutils x86_64 0.194-1.el10 baseos 573 k elfutils-debuginfod-client x86_64 0.194-1.el10 baseos 43 k elfutils-default-yama-scope noarch 0.194-1.el10 baseos 8.3 k elfutils-libelf x86_64 0.194-1.el10 baseos 201 k elfutils-libs x86_64 0.194-1.el10 baseos 267 k file x86_64 5.45-8.el10 baseos 49 k file-libs x86_64 5.45-8.el10 baseos 764 k filesystem x86_64 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 x86_64 16.3-2.el10 appstream 4.4 M gdbm x86_64 1:1.23-14.el10 baseos 151 k gdbm-libs x86_64 1:1.23-14.el10 baseos 57 k ghc-srpm-macros noarch 1.9.2-1.el10_0 epel 9.1 k glibc x86_64 2.39-91.el10 baseos 2.1 M glibc-common x86_64 2.39-91.el10 baseos 336 k glibc-gconv-extra x86_64 2.39-91.el10 baseos 1.7 M gmp x86_64 1:6.2.1-12.el10 baseos 318 k go-srpm-macros noarch 3.8.0-1.el10 appstream 27 k jansson x86_64 2.14-3.el10 baseos 46 k json-c x86_64 0.18-3.el10 baseos 45 k kernel-srpm-macros noarch 1.0-27.el10 appstream 8.7 k keyutils-libs x86_64 1.6.3-5.el10 baseos 33 k krb5-libs x86_64 1.21.3-8.el10 baseos 767 k libacl x86_64 2.3.2-4.el10 baseos 25 k libarchive x86_64 3.7.7-4.el10 baseos 414 k libattr x86_64 2.5.2-5.el10 baseos 19 k libblkid x86_64 2.40.2-13.el10 baseos 124 k libbrotli x86_64 1.1.0-6.el10 baseos 346 k libcap x86_64 2.69-7.el10 baseos 91 k libcap-ng x86_64 0.8.4-6.el10 baseos 33 k libcom_err x86_64 1.47.1-5.el10 baseos 26 k libcurl x86_64 8.12.1-4.el10 baseos 368 k libeconf x86_64 0.6.2-4.el10 baseos 33 k libevent x86_64 2.1.12-16.el10 baseos 261 k libfdisk x86_64 2.40.2-13.el10 baseos 159 k libffi x86_64 3.4.4-10.el10 baseos 41 k libgcc x86_64 14.3.1-4.1.el10 baseos 146 k libgomp x86_64 14.3.1-4.1.el10 baseos 370 k libidn2 x86_64 2.3.7-3.el10 baseos 118 k libmount x86_64 2.40.2-13.el10 baseos 155 k libnghttp2 x86_64 1.64.0-2.el10 baseos 78 k libpkgconf x86_64 2.1.0-3.el10 baseos 39 k libpsl x86_64 0.21.5-6.el10 baseos 65 k libpwquality x86_64 1.4.5-12.el10 baseos 123 k libselinux x86_64 3.9-3.el10 baseos 97 k libsemanage x86_64 3.9-1.el10 baseos 122 k libsepol x86_64 3.9-1.el10 baseos 348 k libsmartcols x86_64 2.40.2-13.el10 baseos 83 k libssh x86_64 0.11.1-3.el10 baseos 233 k libssh-config noarch 0.11.1-3.el10 baseos 8.4 k libstdc++ x86_64 14.3.1-4.1.el10 baseos 926 k libtasn1 x86_64 4.20.0-1.el10 baseos 75 k libunistring x86_64 1.1-10.el10 baseos 548 k libutempter x86_64 1.2.1-15.el10 baseos 27 k libuuid x86_64 2.40.2-13.el10 baseos 28 k libverto x86_64 0.3.2-10.el10 baseos 22 k libxcrypt x86_64 4.4.36-10.el10 baseos 120 k libxml2 x86_64 2.12.5-9.el10 baseos 692 k libzstd x86_64 1.5.5-9.el10 baseos 292 k lua-libs x86_64 5.4.6-7.el10 baseos 132 k lua-srpm-macros noarch 1-15.el10 appstream 9.8 k lz4-libs x86_64 1.9.4-8.el10 baseos 68 k mpfr x86_64 4.2.1-5.el10 baseos 346 k ncurses-base noarch 6.4-14.20240127.el10 baseos 100 k ncurses-libs x86_64 6.4-14.20240127.el10 baseos 338 k ocaml-srpm-macros noarch 10-4.el10 appstream 10 k openblas-srpm-macros noarch 2-19.el10 appstream 8.7 k openldap x86_64 2.6.9-1.el10 baseos 239 k openssl-fips-provider x86_64 1:3.5.1-6.el10 baseos 812 k openssl-libs x86_64 1:3.5.1-6.el10 baseos 2.3 M p11-kit x86_64 0.25.10-1.el10 baseos 517 k p11-kit-trust x86_64 0.25.10-1.el10 baseos 140 k package-notes-srpm-macros noarch 0.5-13.el10 appstream 10 k pam x86_64 1.6.1-9.el10 baseos 584 k pam-libs x86_64 1.6.1-9.el10 baseos 56 k pcre2 x86_64 10.44-1.el10.3 baseos 248 k pcre2-syntax noarch 10.44-1.el10.3 baseos 151 k perl-srpm-macros noarch 1-57.el10 appstream 9.5 k pkgconf x86_64 2.1.0-3.el10 baseos 45 k pkgconf-m4 noarch 2.1.0-3.el10 baseos 15 k pkgconf-pkg-config x86_64 2.1.0-3.el10 baseos 11 k popt x86_64 1.19-8.el10 baseos 66 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 x86_64 8.2-11.el10 baseos 214 k rpm x86_64 4.19.1.1-21.el10 baseos 560 k rpm-build-libs x86_64 4.19.1.1-21.el10 baseos 92 k rpm-libs x86_64 4.19.1.1-21.el10 baseos 309 k rpm-sequoia x86_64 1.9.0.3-1.el10 baseos 975 k rust-toolset-srpm-macros noarch 1.91.0-1.el10 appstream 11 k setup noarch 2.14.5-7.el10 baseos 153 k sqlite-libs x86_64 3.46.1-5.el10 baseos 745 k systemd-libs x86_64 257-21.el10 baseos 828 k util-linux-core x86_64 2.40.2-13.el10 baseos 550 k xz-libs x86_64 1:5.6.2-4.el10 baseos 113 k zip x86_64 3.0-45.el10 baseos 270 k zlib-ng-compat x86_64 2.2.3-2.el10 baseos 79 k zstd x86_64 1.5.5-9.el10 baseos 464 k Transaction Summary ================================================================================ Install 147 Packages Total download size: 61 M Installed size: 188 M Downloading Packages: (1/147): audit-libs-4.0.3-4.el10.x86_64.rpm 9.7 MB/s | 133 kB 00:00 (2/147): alternatives-1.30-2.el10.x86_64.rpm 2.9 MB/s | 42 kB 00:00 (3/147): authselect-1.5.0-8.el10.x86_64.rpm 9.0 MB/s | 144 kB 00:00 (4/147): basesystem-11-22.el10.noarch.rpm 2.2 MB/s | 4.3 kB 00:00 (5/147): authselect-libs-1.5.0-8.el10.x86_64.rp 45 MB/s | 223 kB 00:00 (6/147): bash-5.2.26-6.el10.x86_64.rpm 117 MB/s | 1.8 MB 00:00 (7/147): binutils-gold-2.41-60.el10.x86_64.rpm 47 MB/s | 797 kB 00:00 (8/147): bzip2-1.0.8-25.el10.x86_64.rpm 9.1 MB/s | 54 kB 00:00 (9/147): bzip2-libs-1.0.8-25.el10.x86_64.rpm 8.9 MB/s | 42 kB 00:00 (10/147): binutils-2.41-60.el10.x86_64.rpm 194 MB/s | 6.4 MB 00:00 (11/147): centos-gpg-keys-10.0-16.el10.noarch.r 2.5 MB/s | 26 kB 00:00 (12/147): ca-certificates-2025.2.80_v9.0.305-10 73 MB/s | 1.1 MB 00:00 (13/147): centos-stream-release-10.0-16.el10.no 8.1 MB/s | 29 kB 00:00 (14/147): centos-stream-repos-10.0-16.el10.noar 4.7 MB/s | 12 kB 00:00 (15/147): cpio-2.15-3.el10.x86_64.rpm 52 MB/s | 292 kB 00:00 (16/147): coreutils-9.5-6.el10.x86_64.rpm 101 MB/s | 1.1 MB 00:00 (17/147): coreutils-common-9.5-6.el10.x86_64.rp 135 MB/s | 2.1 MB 00:00 (18/147): cracklib-2.9.11-8.el10.x86_64.rpm 8.8 MB/s | 96 kB 00:00 (19/147): crypto-policies-20251127-1.git27c2902 22 MB/s | 98 kB 00:00 (20/147): curl-8.12.1-4.el10.x86_64.rpm 47 MB/s | 217 kB 00:00 (21/147): cyrus-sasl-lib-2.1.28-27.el10.x86_64. 16 MB/s | 106 kB 00:00 (22/147): diffutils-3.10-8.el10.x86_64.rpm 57 MB/s | 409 kB 00:00 (23/147): cracklib-dicts-2.9.11-8.el10.x86_64.r 167 MB/s | 3.6 MB 00:00 (24/147): ed-1.20-5.el10.x86_64.rpm 12 MB/s | 83 kB 00:00 (25/147): elfutils-0.194-1.el10.x86_64.rpm 77 MB/s | 573 kB 00:00 (26/147): elfutils-default-yama-scope-0.194-1.e 3.0 MB/s | 8.3 kB 00:00 (27/147): elfutils-debuginfod-client-0.194-1.el 9.9 MB/s | 43 kB 00:00 (28/147): elfutils-libelf-0.194-1.el10.x86_64.r 61 MB/s | 201 kB 00:00 (29/147): file-5.45-8.el10.x86_64.rpm 19 MB/s | 49 kB 00:00 (30/147): elfutils-libs-0.194-1.el10.x86_64.rpm 68 MB/s | 267 kB 00:00 (31/147): file-libs-5.45-8.el10.x86_64.rpm 91 MB/s | 764 kB 00:00 (32/147): findutils-4.10.0-5.el10.x86_64.rpm 73 MB/s | 551 kB 00:00 (33/147): gdbm-1.23-14.el10.x86_64.rpm 41 MB/s | 151 kB 00:00 (34/147): gawk-5.3.0-6.el10.x86_64.rpm 127 MB/s | 1.1 MB 00:00 (35/147): gdbm-libs-1.23-14.el10.x86_64.rpm 12 MB/s | 57 kB 00:00 (36/147): filesystem-3.18-17.el10.x86_64.rpm 200 MB/s | 4.8 MB 00:00 (37/147): glibc-common-2.39-91.el10.x86_64.rpm 39 MB/s | 336 kB 00:00 (38/147): glibc-2.39-91.el10.x86_64.rpm 146 MB/s | 2.1 MB 00:00 (39/147): glibc-minimal-langpack-2.39-91.el10.x 7.7 MB/s | 41 kB 00:00 (40/147): glibc-gconv-extra-2.39-91.el10.x86_64 141 MB/s | 1.7 MB 00:00 (41/147): gmp-6.2.1-12.el10.x86_64.rpm 49 MB/s | 318 kB 00:00 (42/147): grep-3.11-10.el10.x86_64.rpm 43 MB/s | 301 kB 00:00 (43/147): gzip-1.13-3.el10.x86_64.rpm 52 MB/s | 170 kB 00:00 (44/147): jansson-2.14-3.el10.x86_64.rpm 18 MB/s | 46 kB 00:00 (45/147): info-7.1-6.el10.x86_64.rpm 44 MB/s | 183 kB 00:00 (46/147): json-c-0.18-3.el10.x86_64.rpm 18 MB/s | 45 kB 00:00 (47/147): keyutils-libs-1.6.3-5.el10.x86_64.rpm 15 MB/s | 33 kB 00:00 (48/147): libacl-2.3.2-4.el10.x86_64.rpm 9.0 MB/s | 25 kB 00:00 (49/147): krb5-libs-1.21.3-8.el10.x86_64.rpm 126 MB/s | 767 kB 00:00 (50/147): libarchive-3.7.7-4.el10.x86_64.rpm 73 MB/s | 414 kB 00:00 (51/147): libattr-2.5.2-5.el10.x86_64.rpm 5.1 MB/s | 19 kB 00:00 (52/147): libblkid-2.40.2-13.el10.x86_64.rpm 44 MB/s | 124 kB 00:00 (53/147): libbrotli-1.1.0-6.el10.x86_64.rpm 94 MB/s | 346 kB 00:00 (54/147): libcap-2.69-7.el10.x86_64.rpm 22 MB/s | 91 kB 00:00 (55/147): libcap-ng-0.8.4-6.el10.x86_64.rpm 12 MB/s | 33 kB 00:00 (56/147): libcom_err-1.47.1-5.el10.x86_64.rpm 12 MB/s | 26 kB 00:00 (57/147): libeconf-0.6.2-4.el10.x86_64.rpm 15 MB/s | 33 kB 00:00 (58/147): libcurl-8.12.1-4.el10.x86_64.rpm 81 MB/s | 368 kB 00:00 (59/147): libevent-2.1.12-16.el10.x86_64.rpm 54 MB/s | 261 kB 00:00 (60/147): libfdisk-2.40.2-13.el10.x86_64.rpm 35 MB/s | 159 kB 00:00 (61/147): libffi-3.4.4-10.el10.x86_64.rpm 11 MB/s | 41 kB 00:00 (62/147): libgcc-14.3.1-4.1.el10.x86_64.rpm 31 MB/s | 146 kB 00:00 (63/147): libgomp-14.3.1-4.1.el10.x86_64.rpm 62 MB/s | 370 kB 00:00 (64/147): libidn2-2.3.7-3.el10.x86_64.rpm 23 MB/s | 118 kB 00:00 (65/147): libmount-2.40.2-13.el10.x86_64.rpm 49 MB/s | 155 kB 00:00 (66/147): libpkgconf-2.1.0-3.el10.x86_64.rpm 17 MB/s | 39 kB 00:00 (67/147): libnghttp2-1.64.0-2.el10.x86_64.rpm 24 MB/s | 78 kB 00:00 (68/147): libpsl-0.21.5-6.el10.x86_64.rpm 21 MB/s | 65 kB 00:00 (69/147): libselinux-3.9-3.el10.x86_64.rpm 37 MB/s | 97 kB 00:00 (70/147): libpwquality-1.4.5-12.el10.x86_64.rpm 35 MB/s | 123 kB 00:00 (71/147): libsemanage-3.9-1.el10.x86_64.rpm 40 MB/s | 122 kB 00:00 (72/147): libsepol-3.9-1.el10.x86_64.rpm 91 MB/s | 348 kB 00:00 (73/147): libsmartcols-2.40.2-13.el10.x86_64.rp 21 MB/s | 83 kB 00:00 (74/147): libssh-0.11.1-3.el10.x86_64.rpm 54 MB/s | 233 kB 00:00 (75/147): libssh-config-0.11.1-3.el10.noarch.rp 3.5 MB/s | 8.4 kB 00:00 (76/147): libtasn1-4.20.0-1.el10.x86_64.rpm 24 MB/s | 75 kB 00:00 (77/147): libstdc++-14.3.1-4.1.el10.x86_64.rpm 118 MB/s | 926 kB 00:00 (78/147): libunistring-1.1-10.el10.x86_64.rpm 78 MB/s | 548 kB 00:00 (79/147): libutempter-1.2.1-15.el10.x86_64.rpm 6.8 MB/s | 27 kB 00:00 (80/147): libuuid-2.40.2-13.el10.x86_64.rpm 10 MB/s | 28 kB 00:00 (81/147): libverto-0.3.2-10.el10.x86_64.rpm 8.8 MB/s | 22 kB 00:00 (82/147): libxcrypt-4.4.36-10.el10.x86_64.rpm 35 MB/s | 120 kB 00:00 (83/147): libzstd-1.5.5-9.el10.x86_64.rpm 66 MB/s | 292 kB 00:00 (84/147): libxml2-2.12.5-9.el10.x86_64.rpm 100 MB/s | 692 kB 00:00 (85/147): lua-libs-5.4.6-7.el10.x86_64.rpm 24 MB/s | 132 kB 00:00 (86/147): lz4-libs-1.9.4-8.el10.x86_64.rpm 26 MB/s | 68 kB 00:00 (87/147): mpfr-4.2.1-5.el10.x86_64.rpm 85 MB/s | 346 kB 00:00 (88/147): ncurses-base-6.4-14.20240127.el10.noa 25 MB/s | 100 kB 00:00 (89/147): ncurses-libs-6.4-14.20240127.el10.x86 77 MB/s | 338 kB 00:00 (90/147): openldap-2.6.9-1.el10.x86_64.rpm 67 MB/s | 239 kB 00:00 (91/147): openssl-fips-provider-3.5.1-6.el10.x8 130 MB/s | 812 kB 00:00 (92/147): p11-kit-0.25.10-1.el10.x86_64.rpm 42 MB/s | 517 kB 00:00 (93/147): openssl-libs-3.5.1-6.el10.x86_64.rpm 129 MB/s | 2.3 MB 00:00 (94/147): p11-kit-trust-0.25.10-1.el10.x86_64.r 11 MB/s | 140 kB 00:00 (95/147): pam-1.6.1-9.el10.x86_64.rpm 77 MB/s | 584 kB 00:00 (96/147): pam-libs-1.6.1-9.el10.x86_64.rpm 9.6 MB/s | 56 kB 00:00 (97/147): pcre2-10.44-1.el10.3.x86_64.rpm 40 MB/s | 248 kB 00:00 (98/147): pkgconf-2.1.0-3.el10.x86_64.rpm 12 MB/s | 45 kB 00:00 (99/147): pcre2-syntax-10.44-1.el10.3.noarch.rp 26 MB/s | 151 kB 00:00 (100/147): pkgconf-m4-2.1.0-3.el10.noarch.rpm 4.3 MB/s | 15 kB 00:00 (101/147): pkgconf-pkg-config-2.1.0-3.el10.x86_ 7.1 MB/s | 11 kB 00:00 (102/147): publicsuffix-list-dafsa-20240107-5.e 23 MB/s | 59 kB 00:00 (103/147): popt-1.19-8.el10.x86_64.rpm 22 MB/s | 66 kB 00:00 (104/147): readline-8.2-11.el10.x86_64.rpm 60 MB/s | 214 kB 00:00 (105/147): rpm-build-libs-4.19.1.1-21.el10.x86_ 14 MB/s | 92 kB 00:00 (106/147): rpm-4.19.1.1-21.el10.x86_64.rpm 69 MB/s | 560 kB 00:00 (107/147): rpm-libs-4.19.1.1-21.el10.x86_64.rpm 39 MB/s | 309 kB 00:00 (108/147): sed-4.9-3.el10.x86_64.rpm 78 MB/s | 318 kB 00:00 (109/147): rpm-sequoia-1.9.0.3-1.el10.x86_64.rp 125 MB/s | 975 kB 00:00 (110/147): setup-2.14.5-7.el10.noarch.rpm 27 MB/s | 153 kB 00:00 (111/147): shadow-utils-4.15.0-9.el10.x86_64.rp 113 MB/s | 1.3 MB 00:00 (112/147): sqlite-libs-3.46.1-5.el10.x86_64.rpm 62 MB/s | 745 kB 00:00 (113/147): systemd-libs-257-21.el10.x86_64.rpm 63 MB/s | 828 kB 00:00 (114/147): tar-1.35-9.el10.x86_64.rpm 121 MB/s | 865 kB 00:00 (115/147): unzip-6.0-69.el10.x86_64.rpm 34 MB/s | 190 kB 00:00 (116/147): which-2.21-44.el10.x86_64.rpm 14 MB/s | 42 kB 00:00 (117/147): util-linux-2.40.2-13.el10.x86_64.rpm 129 MB/s | 1.3 MB 00:00 (118/147): util-linux-core-2.40.2-13.el10.x86_6 70 MB/s | 550 kB 00:00 (119/147): xz-5.6.2-4.el10.x86_64.rpm 84 MB/s | 481 kB 00:00 (120/147): xz-libs-5.6.2-4.el10.x86_64.rpm 26 MB/s | 113 kB 00:00 (121/147): zip-3.0-45.el10.x86_64.rpm 65 MB/s | 270 kB 00:00 (122/147): zlib-ng-compat-2.2.3-2.el10.x86_64.r 23 MB/s | 79 kB 00:00 (123/147): zstd-1.5.5-9.el10.x86_64.rpm 101 MB/s | 464 kB 00:00 (124/147): debugedit-5.1-8.el10.x86_64.rpm 19 MB/s | 80 kB 00:00 (125/147): dwz-0.16-1.el10.x86_64.rpm 35 MB/s | 140 kB 00:00 (126/147): fonts-srpm-macros-2.0.5-18.el10.noar 12 MB/s | 27 kB 00:00 (127/147): efi-srpm-macros-6-6.el10.noarch.rpm 6.7 MB/s | 24 kB 00:00 (128/147): forge-srpm-macros-0.4.0-6.el10.noarc 6.4 MB/s | 21 kB 00:00 (129/147): go-srpm-macros-3.8.0-1.el10.noarch.r 10 MB/s | 27 kB 00:00 (130/147): kernel-srpm-macros-1.0-27.el10.noarc 3.2 MB/s | 8.7 kB 00:00 (131/147): lua-srpm-macros-1-15.el10.noarch.rpm 4.4 MB/s | 9.8 kB 00:00 (132/147): ocaml-srpm-macros-10-4.el10.noarch.r 3.2 MB/s | 10 kB 00:00 (133/147): openblas-srpm-macros-2-19.el10.noarc 2.7 MB/s | 8.7 kB 00:00 (134/147): package-notes-srpm-macros-0.5-13.el1 2.7 MB/s | 10 kB 00:00 (135/147): patch-2.7.6-26.el10.x86_64.rpm 24 MB/s | 132 kB 00:00 (136/147): perl-srpm-macros-1-57.el10.noarch.rp 2.0 MB/s | 9.5 kB 00:00 (137/147): gdb-minimal-16.3-2.el10.x86_64.rpm 187 MB/s | 4.4 MB 00:00 (138/147): pyproject-srpm-macros-1.18.5-1.el10. 1.5 MB/s | 13 kB 00:00 (139/147): python-srpm-macros-3.12-11.el10.noar 2.5 MB/s | 22 kB 00:00 (140/147): qt6-srpm-macros-6.10.1-1.el10.noarch 3.8 MB/s | 9.1 kB 00:00 (141/147): redhat-rpm-config-293-1.el10.noarch. 24 MB/s | 77 kB 00:00 (142/147): rust-toolset-srpm-macros-1.91.0-1.el 7.3 MB/s | 11 kB 00:00 (143/147): rpm-build-4.19.1.1-21.el10.x86_64.rp 29 MB/s | 75 kB 00:00 (144/147): fpc-srpm-macros-1.3-7.el10_1.noarch. 1.1 MB/s | 7.8 kB 00:00 (145/147): epel-rpm-macros-10-6.el10_2.noarch.r 920 kB/s | 8.2 kB 00:00 (146/147): ansible-srpm-macros-1-16.1.el10_0.no 2.0 MB/s | 20 kB 00:00 (147/147): ghc-srpm-macros-1.9.2-1.el10_0.noarc 3.4 MB/s | 9.1 kB 00:00 -------------------------------------------------------------------------------- Total 61 MB/s | 61 MB 00:00 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 - x86_64 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.x86_64 1/1 Preparing : 1/1 Installing : libgcc-14.3.1-4.1.el10.x86_64 1/147 Running scriptlet: libgcc-14.3.1-4.1.el10.x86_64 1/147 Installing : ghc-srpm-macros-1.9.2-1.el10_0.noarch 2/147 Installing : fpc-srpm-macros-1.3-7.el10_1.noarch 3/147 Installing : ansible-srpm-macros-1-16.1.el10_0.noarch 4/147 Installing : rust-toolset-srpm-macros-1.91.0-1.el10.noarch 5/147 Installing : qt6-srpm-macros-6.10.1-1.el10.noarch 6/147 Installing : perl-srpm-macros-1-57.el10.noarch 7/147 Installing : package-notes-srpm-macros-0.5-13.el10.noarch 8/147 Installing : openblas-srpm-macros-2-19.el10.noarch 9/147 Installing : ocaml-srpm-macros-10-4.el10.noarch 10/147 Installing : kernel-srpm-macros-1.0-27.el10.noarch 11/147 Installing : publicsuffix-list-dafsa-20240107-5.el10.noarch 12/147 Installing : pkgconf-m4-2.1.0-3.el10.noarch 13/147 Installing : pcre2-syntax-10.44-1.el10.3.noarch 14/147 Installing : ncurses-base-6.4-14.20240127.el10.noarch 15/147 Installing : libssh-config-0.11.1-3.el10.noarch 16/147 Installing : coreutils-common-9.5-6.el10.x86_64 17/147 Installing : centos-gpg-keys-10.0-16.el10.noarch 18/147 Installing : centos-stream-repos-10.0-16.el10.noarch 19/147 Installing : centos-stream-release-10.0-16.el10.noarch 20/147 Installing : setup-2.14.5-7.el10.noarch 21/147 Running scriptlet: setup-2.14.5-7.el10.noarch 21/147 Installing : filesystem-3.18-17.el10.x86_64 22/147 Installing : basesystem-11-22.el10.noarch 23/147 Installing : glibc-gconv-extra-2.39-91.el10.x86_64 24/147 Running scriptlet: glibc-gconv-extra-2.39-91.el10.x86_64 24/147 Installing : glibc-minimal-langpack-2.39-91.el10.x86_64 25/147 Installing : glibc-common-2.39-91.el10.x86_64 26/147 Running scriptlet: glibc-2.39-91.el10.x86_64 27/147 Installing : glibc-2.39-91.el10.x86_64 27/147 Running scriptlet: glibc-2.39-91.el10.x86_64 27/147 Installing : ncurses-libs-6.4-14.20240127.el10.x86_64 28/147 Installing : bash-5.2.26-6.el10.x86_64 29/147 Running scriptlet: bash-5.2.26-6.el10.x86_64 29/147 Installing : zlib-ng-compat-2.2.3-2.el10.x86_64 30/147 Installing : bzip2-libs-1.0.8-25.el10.x86_64 31/147 Installing : xz-libs-1:5.6.2-4.el10.x86_64 32/147 Installing : readline-8.2-11.el10.x86_64 33/147 Installing : libstdc++-14.3.1-4.1.el10.x86_64 34/147 Installing : libuuid-2.40.2-13.el10.x86_64 35/147 Installing : popt-1.19-8.el10.x86_64 36/147 Installing : libblkid-2.40.2-13.el10.x86_64 37/147 Installing : gmp-1:6.2.1-12.el10.x86_64 38/147 Installing : libattr-2.5.2-5.el10.x86_64 39/147 Installing : libacl-2.3.2-4.el10.x86_64 40/147 Installing : libxcrypt-4.4.36-10.el10.x86_64 41/147 Installing : libzstd-1.5.5-9.el10.x86_64 42/147 Installing : elfutils-libelf-0.194-1.el10.x86_64 43/147 Running scriptlet: crypto-policies-20251127-1.git27c2902.el10.noarc 44/147 Installing : crypto-policies-20251127-1.git27c2902.el10.noarc 44/147 Running scriptlet: crypto-policies-20251127-1.git27c2902.el10.noarc 44/147 Installing : gdbm-libs-1:1.23-14.el10.x86_64 45/147 Installing : libeconf-0.6.2-4.el10.x86_64 46/147 Installing : dwz-0.16-1.el10.x86_64 47/147 Installing : mpfr-4.2.1-5.el10.x86_64 48/147 Installing : gawk-5.3.0-6.el10.x86_64 49/147 Installing : unzip-6.0-69.el10.x86_64 50/147 Installing : file-libs-5.45-8.el10.x86_64 51/147 Installing : file-5.45-8.el10.x86_64 52/147 Installing : alternatives-1.30-2.el10.x86_64 53/147 Installing : jansson-2.14-3.el10.x86_64 54/147 Installing : libcap-ng-0.8.4-6.el10.x86_64 55/147 Installing : audit-libs-4.0.3-4.el10.x86_64 56/147 Installing : pam-libs-1.6.1-9.el10.x86_64 57/147 Installing : libcap-2.69-7.el10.x86_64 58/147 Installing : systemd-libs-257-21.el10.x86_64 59/147 Installing : libffi-3.4.4-10.el10.x86_64 60/147 Installing : libsepol-3.9-1.el10.x86_64 61/147 Installing : libsmartcols-2.40.2-13.el10.x86_64 62/147 Installing : libtasn1-4.20.0-1.el10.x86_64 63/147 Installing : libunistring-1.1-10.el10.x86_64 64/147 Installing : libidn2-2.3.7-3.el10.x86_64 65/147 Installing : lua-libs-5.4.6-7.el10.x86_64 66/147 Installing : lz4-libs-1.9.4-8.el10.x86_64 67/147 Installing : pcre2-10.44-1.el10.3.x86_64 68/147 Installing : libselinux-3.9-3.el10.x86_64 69/147 Installing : sed-4.9-3.el10.x86_64 70/147 Installing : findutils-1:4.10.0-5.el10.x86_64 71/147 Installing : grep-3.11-10.el10.x86_64 72/147 Installing : xz-1:5.6.2-4.el10.x86_64 73/147 Installing : libmount-2.40.2-13.el10.x86_64 74/147 Installing : util-linux-core-2.40.2-13.el10.x86_64 75/147 Installing : libsemanage-3.9-1.el10.x86_64 76/147 Installing : shadow-utils-2:4.15.0-9.el10.x86_64 77/147 Running scriptlet: libutempter-1.2.1-15.el10.x86_64 78/147 Installing : libutempter-1.2.1-15.el10.x86_64 78/147 Installing : tar-2:1.35-9.el10.x86_64 79/147 Installing : zstd-1.5.5-9.el10.x86_64 80/147 Installing : libpsl-0.21.5-6.el10.x86_64 81/147 Installing : p11-kit-0.25.10-1.el10.x86_64 82/147 Installing : p11-kit-trust-0.25.10-1.el10.x86_64 83/147 Running scriptlet: p11-kit-trust-0.25.10-1.el10.x86_64 83/147 Installing : openssl-fips-provider-1:3.5.1-6.el10.x86_64 84/147 Installing : openssl-libs-1:3.5.1-6.el10.x86_64 85/147 Installing : coreutils-9.5-6.el10.x86_64 86/147 Running scriptlet: ca-certificates-2025.2.80_v9.0.305-102.el10.noar 87/147 Installing : ca-certificates-2025.2.80_v9.0.305-102.el10.noar 87/147 Running scriptlet: ca-certificates-2025.2.80_v9.0.305-102.el10.noar 87/147 Installing : authselect-libs-1.5.0-8.el10.x86_64 88/147 Installing : gzip-1.13-3.el10.x86_64 89/147 Installing : cracklib-2.9.11-8.el10.x86_64 90/147 Installing : cracklib-dicts-2.9.11-8.el10.x86_64 91/147 Installing : libpwquality-1.4.5-12.el10.x86_64 92/147 Installing : libevent-2.1.12-16.el10.x86_64 93/147 Installing : rpm-sequoia-1.9.0.3-1.el10.x86_64 94/147 Installing : zip-3.0-45.el10.x86_64 95/147 Installing : cyrus-sasl-lib-2.1.28-27.el10.x86_64 96/147 Installing : openldap-2.6.9-1.el10.x86_64 97/147 Installing : gdbm-1:1.23-14.el10.x86_64 98/147 Installing : pam-1.6.1-9.el10.x86_64 99/147 Installing : libfdisk-2.40.2-13.el10.x86_64 100/147 Installing : libxml2-2.12.5-9.el10.x86_64 101/147 Installing : libarchive-3.7.7-4.el10.x86_64 102/147 Installing : bzip2-1.0.8-25.el10.x86_64 103/147 Installing : sqlite-libs-3.46.1-5.el10.x86_64 104/147 Installing : rpm-libs-4.19.1.1-21.el10.x86_64 105/147 Installing : ed-1.20-5.el10.x86_64 106/147 Installing : patch-2.7.6-26.el10.x86_64 107/147 Installing : elfutils-default-yama-scope-0.194-1.el10.noarch 108/147 Running scriptlet: elfutils-default-yama-scope-0.194-1.el10.noarch 108/147 Installing : cpio-2.15-3.el10.x86_64 109/147 Installing : diffutils-3.10-8.el10.x86_64 110/147 Installing : json-c-0.18-3.el10.x86_64 111/147 Installing : keyutils-libs-1.6.3-5.el10.x86_64 112/147 Installing : libbrotli-1.1.0-6.el10.x86_64 113/147 Installing : libcom_err-1.47.1-5.el10.x86_64 114/147 Installing : libgomp-14.3.1-4.1.el10.x86_64 115/147 Installing : libnghttp2-1.64.0-2.el10.x86_64 116/147 Installing : libpkgconf-2.1.0-3.el10.x86_64 117/147 Installing : pkgconf-2.1.0-3.el10.x86_64 118/147 Installing : pkgconf-pkg-config-2.1.0-3.el10.x86_64 119/147 Installing : libverto-0.3.2-10.el10.x86_64 120/147 Installing : krb5-libs-1.21.3-8.el10.x86_64 121/147 Installing : libssh-0.11.1-3.el10.x86_64 122/147 Installing : libcurl-8.12.1-4.el10.x86_64 123/147 Installing : elfutils-libs-0.194-1.el10.x86_64 124/147 Installing : elfutils-debuginfod-client-0.194-1.el10.x86_64 125/147 Installing : binutils-gold-2.41-60.el10.x86_64 126/147 Running scriptlet: binutils-gold-2.41-60.el10.x86_64 126/147 Installing : binutils-2.41-60.el10.x86_64 127/147 Running scriptlet: binutils-2.41-60.el10.x86_64 127/147 Installing : elfutils-0.194-1.el10.x86_64 128/147 Installing : gdb-minimal-16.3-2.el10.x86_64 129/147 Installing : debugedit-5.1-8.el10.x86_64 130/147 Installing : rpm-build-libs-4.19.1.1-21.el10.x86_64 131/147 Installing : curl-8.12.1-4.el10.x86_64 132/147 Running scriptlet: rpm-4.19.1.1-21.el10.x86_64 133/147 Installing : rpm-4.19.1.1-21.el10.x86_64 133/147 Installing : efi-srpm-macros-6-6.el10.noarch 134/147 Installing : lua-srpm-macros-1-15.el10.noarch 135/147 Installing : fonts-srpm-macros-1:2.0.5-18.el10.noarch 136/147 Installing : forge-srpm-macros-0.4.0-6.el10.noarch 137/147 Installing : go-srpm-macros-3.8.0-1.el10.noarch 138/147 Installing : python-srpm-macros-3.12-11.el10.noarch 139/147 Installing : redhat-rpm-config-293-1.el10.noarch 140/147 Installing : rpm-build-4.19.1.1-21.el10.x86_64 141/147 Installing : pyproject-srpm-macros-1.18.5-1.el10.noarch 142/147 Installing : util-linux-2.40.2-13.el10.x86_64 143/147 Running scriptlet: util-linux-2.40.2-13.el10.x86_64 143/147 Installing : authselect-1.5.0-8.el10.x86_64 144/147 Installing : which-2.21-44.el10.x86_64 145/147 Installing : info-7.1-6.el10.x86_64 146/147 Installing : epel-rpm-macros-10-6.el10_2.noarch 147/147 Running scriptlet: filesystem-3.18-17.el10.x86_64 147/147 Running scriptlet: ca-certificates-2025.2.80_v9.0.305-102.el10.noar 147/147 Running scriptlet: authselect-libs-1.5.0-8.el10.x86_64 147/147 Running scriptlet: rpm-4.19.1.1-21.el10.x86_64 147/147 Running scriptlet: epel-rpm-macros-10-6.el10_2.noarch 147/147 Installed: alternatives-1.30-2.el10.x86_64 ansible-srpm-macros-1-16.1.el10_0.noarch audit-libs-4.0.3-4.el10.x86_64 authselect-1.5.0-8.el10.x86_64 authselect-libs-1.5.0-8.el10.x86_64 basesystem-11-22.el10.noarch bash-5.2.26-6.el10.x86_64 binutils-2.41-60.el10.x86_64 binutils-gold-2.41-60.el10.x86_64 bzip2-1.0.8-25.el10.x86_64 bzip2-libs-1.0.8-25.el10.x86_64 ca-certificates-2025.2.80_v9.0.305-102.el10.noarch centos-gpg-keys-10.0-16.el10.noarch centos-stream-release-10.0-16.el10.noarch centos-stream-repos-10.0-16.el10.noarch coreutils-9.5-6.el10.x86_64 coreutils-common-9.5-6.el10.x86_64 cpio-2.15-3.el10.x86_64 cracklib-2.9.11-8.el10.x86_64 cracklib-dicts-2.9.11-8.el10.x86_64 crypto-policies-20251127-1.git27c2902.el10.noarch curl-8.12.1-4.el10.x86_64 cyrus-sasl-lib-2.1.28-27.el10.x86_64 debugedit-5.1-8.el10.x86_64 diffutils-3.10-8.el10.x86_64 dwz-0.16-1.el10.x86_64 ed-1.20-5.el10.x86_64 efi-srpm-macros-6-6.el10.noarch elfutils-0.194-1.el10.x86_64 elfutils-debuginfod-client-0.194-1.el10.x86_64 elfutils-default-yama-scope-0.194-1.el10.noarch elfutils-libelf-0.194-1.el10.x86_64 elfutils-libs-0.194-1.el10.x86_64 epel-rpm-macros-10-6.el10_2.noarch file-5.45-8.el10.x86_64 file-libs-5.45-8.el10.x86_64 filesystem-3.18-17.el10.x86_64 findutils-1:4.10.0-5.el10.x86_64 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.x86_64 gdb-minimal-16.3-2.el10.x86_64 gdbm-1:1.23-14.el10.x86_64 gdbm-libs-1:1.23-14.el10.x86_64 ghc-srpm-macros-1.9.2-1.el10_0.noarch glibc-2.39-91.el10.x86_64 glibc-common-2.39-91.el10.x86_64 glibc-gconv-extra-2.39-91.el10.x86_64 glibc-minimal-langpack-2.39-91.el10.x86_64 gmp-1:6.2.1-12.el10.x86_64 go-srpm-macros-3.8.0-1.el10.noarch grep-3.11-10.el10.x86_64 gzip-1.13-3.el10.x86_64 info-7.1-6.el10.x86_64 jansson-2.14-3.el10.x86_64 json-c-0.18-3.el10.x86_64 kernel-srpm-macros-1.0-27.el10.noarch keyutils-libs-1.6.3-5.el10.x86_64 krb5-libs-1.21.3-8.el10.x86_64 libacl-2.3.2-4.el10.x86_64 libarchive-3.7.7-4.el10.x86_64 libattr-2.5.2-5.el10.x86_64 libblkid-2.40.2-13.el10.x86_64 libbrotli-1.1.0-6.el10.x86_64 libcap-2.69-7.el10.x86_64 libcap-ng-0.8.4-6.el10.x86_64 libcom_err-1.47.1-5.el10.x86_64 libcurl-8.12.1-4.el10.x86_64 libeconf-0.6.2-4.el10.x86_64 libevent-2.1.12-16.el10.x86_64 libfdisk-2.40.2-13.el10.x86_64 libffi-3.4.4-10.el10.x86_64 libgcc-14.3.1-4.1.el10.x86_64 libgomp-14.3.1-4.1.el10.x86_64 libidn2-2.3.7-3.el10.x86_64 libmount-2.40.2-13.el10.x86_64 libnghttp2-1.64.0-2.el10.x86_64 libpkgconf-2.1.0-3.el10.x86_64 libpsl-0.21.5-6.el10.x86_64 libpwquality-1.4.5-12.el10.x86_64 libselinux-3.9-3.el10.x86_64 libsemanage-3.9-1.el10.x86_64 libsepol-3.9-1.el10.x86_64 libsmartcols-2.40.2-13.el10.x86_64 libssh-0.11.1-3.el10.x86_64 libssh-config-0.11.1-3.el10.noarch libstdc++-14.3.1-4.1.el10.x86_64 libtasn1-4.20.0-1.el10.x86_64 libunistring-1.1-10.el10.x86_64 libutempter-1.2.1-15.el10.x86_64 libuuid-2.40.2-13.el10.x86_64 libverto-0.3.2-10.el10.x86_64 libxcrypt-4.4.36-10.el10.x86_64 libxml2-2.12.5-9.el10.x86_64 libzstd-1.5.5-9.el10.x86_64 lua-libs-5.4.6-7.el10.x86_64 lua-srpm-macros-1-15.el10.noarch lz4-libs-1.9.4-8.el10.x86_64 mpfr-4.2.1-5.el10.x86_64 ncurses-base-6.4-14.20240127.el10.noarch ncurses-libs-6.4-14.20240127.el10.x86_64 ocaml-srpm-macros-10-4.el10.noarch openblas-srpm-macros-2-19.el10.noarch openldap-2.6.9-1.el10.x86_64 openssl-fips-provider-1:3.5.1-6.el10.x86_64 openssl-libs-1:3.5.1-6.el10.x86_64 p11-kit-0.25.10-1.el10.x86_64 p11-kit-trust-0.25.10-1.el10.x86_64 package-notes-srpm-macros-0.5-13.el10.noarch pam-1.6.1-9.el10.x86_64 pam-libs-1.6.1-9.el10.x86_64 patch-2.7.6-26.el10.x86_64 pcre2-10.44-1.el10.3.x86_64 pcre2-syntax-10.44-1.el10.3.noarch perl-srpm-macros-1-57.el10.noarch pkgconf-2.1.0-3.el10.x86_64 pkgconf-m4-2.1.0-3.el10.noarch pkgconf-pkg-config-2.1.0-3.el10.x86_64 popt-1.19-8.el10.x86_64 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.x86_64 redhat-rpm-config-293-1.el10.noarch rpm-4.19.1.1-21.el10.x86_64 rpm-build-4.19.1.1-21.el10.x86_64 rpm-build-libs-4.19.1.1-21.el10.x86_64 rpm-libs-4.19.1.1-21.el10.x86_64 rpm-sequoia-1.9.0.3-1.el10.x86_64 rust-toolset-srpm-macros-1.91.0-1.el10.noarch sed-4.9-3.el10.x86_64 setup-2.14.5-7.el10.noarch shadow-utils-2:4.15.0-9.el10.x86_64 sqlite-libs-3.46.1-5.el10.x86_64 systemd-libs-257-21.el10.x86_64 tar-2:1.35-9.el10.x86_64 unzip-6.0-69.el10.x86_64 util-linux-2.40.2-13.el10.x86_64 util-linux-core-2.40.2-13.el10.x86_64 which-2.21-44.el10.x86_64 xz-1:5.6.2-4.el10.x86_64 xz-libs-1:5.6.2-4.el10.x86_64 zip-3.0-45.el10.x86_64 zlib-ng-compat-2.2.3-2.el10.x86_64 zstd-1.5.5-9.el10.x86_64 Complete! Finish: installing minimal buildroot with dnf Start: creating root cache Finish: creating root cache Finish: chroot init INFO: Installed packages: INFO: alternatives-1.30-2.el10.x86_64 ansible-srpm-macros-1-16.1.el10_0.noarch audit-libs-4.0.3-4.el10.x86_64 authselect-1.5.0-8.el10.x86_64 authselect-libs-1.5.0-8.el10.x86_64 basesystem-11-22.el10.noarch bash-5.2.26-6.el10.x86_64 binutils-2.41-60.el10.x86_64 binutils-gold-2.41-60.el10.x86_64 bzip2-1.0.8-25.el10.x86_64 bzip2-libs-1.0.8-25.el10.x86_64 ca-certificates-2025.2.80_v9.0.305-102.el10.noarch centos-gpg-keys-10.0-16.el10.noarch centos-stream-release-10.0-16.el10.noarch centos-stream-repos-10.0-16.el10.noarch coreutils-9.5-6.el10.x86_64 coreutils-common-9.5-6.el10.x86_64 cpio-2.15-3.el10.x86_64 cracklib-2.9.11-8.el10.x86_64 cracklib-dicts-2.9.11-8.el10.x86_64 crypto-policies-20251127-1.git27c2902.el10.noarch curl-8.12.1-4.el10.x86_64 cyrus-sasl-lib-2.1.28-27.el10.x86_64 debugedit-5.1-8.el10.x86_64 diffutils-3.10-8.el10.x86_64 dwz-0.16-1.el10.x86_64 ed-1.20-5.el10.x86_64 efi-srpm-macros-6-6.el10.noarch elfutils-0.194-1.el10.x86_64 elfutils-debuginfod-client-0.194-1.el10.x86_64 elfutils-default-yama-scope-0.194-1.el10.noarch elfutils-libelf-0.194-1.el10.x86_64 elfutils-libs-0.194-1.el10.x86_64 epel-rpm-macros-10-6.el10_2.noarch file-5.45-8.el10.x86_64 file-libs-5.45-8.el10.x86_64 filesystem-3.18-17.el10.x86_64 findutils-4.10.0-5.el10.x86_64 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.x86_64 gdb-minimal-16.3-2.el10.x86_64 gdbm-1.23-14.el10.x86_64 gdbm-libs-1.23-14.el10.x86_64 ghc-srpm-macros-1.9.2-1.el10_0.noarch glibc-2.39-91.el10.x86_64 glibc-common-2.39-91.el10.x86_64 glibc-gconv-extra-2.39-91.el10.x86_64 glibc-minimal-langpack-2.39-91.el10.x86_64 gmp-6.2.1-12.el10.x86_64 go-srpm-macros-3.8.0-1.el10.noarch gpg-pubkey-8483c65d-5ccc5b19 gpg-pubkey-e37ed158-65785fa9 grep-3.11-10.el10.x86_64 gzip-1.13-3.el10.x86_64 info-7.1-6.el10.x86_64 jansson-2.14-3.el10.x86_64 json-c-0.18-3.el10.x86_64 kernel-srpm-macros-1.0-27.el10.noarch keyutils-libs-1.6.3-5.el10.x86_64 krb5-libs-1.21.3-8.el10.x86_64 libacl-2.3.2-4.el10.x86_64 libarchive-3.7.7-4.el10.x86_64 libattr-2.5.2-5.el10.x86_64 libblkid-2.40.2-13.el10.x86_64 libbrotli-1.1.0-6.el10.x86_64 libcap-2.69-7.el10.x86_64 libcap-ng-0.8.4-6.el10.x86_64 libcom_err-1.47.1-5.el10.x86_64 libcurl-8.12.1-4.el10.x86_64 libeconf-0.6.2-4.el10.x86_64 libevent-2.1.12-16.el10.x86_64 libfdisk-2.40.2-13.el10.x86_64 libffi-3.4.4-10.el10.x86_64 libgcc-14.3.1-4.1.el10.x86_64 libgomp-14.3.1-4.1.el10.x86_64 libidn2-2.3.7-3.el10.x86_64 libmount-2.40.2-13.el10.x86_64 libnghttp2-1.64.0-2.el10.x86_64 libpkgconf-2.1.0-3.el10.x86_64 libpsl-0.21.5-6.el10.x86_64 libpwquality-1.4.5-12.el10.x86_64 libselinux-3.9-3.el10.x86_64 libsemanage-3.9-1.el10.x86_64 libsepol-3.9-1.el10.x86_64 libsmartcols-2.40.2-13.el10.x86_64 libssh-0.11.1-3.el10.x86_64 libssh-config-0.11.1-3.el10.noarch libstdc++-14.3.1-4.1.el10.x86_64 libtasn1-4.20.0-1.el10.x86_64 libunistring-1.1-10.el10.x86_64 libutempter-1.2.1-15.el10.x86_64 libuuid-2.40.2-13.el10.x86_64 libverto-0.3.2-10.el10.x86_64 libxcrypt-4.4.36-10.el10.x86_64 libxml2-2.12.5-9.el10.x86_64 libzstd-1.5.5-9.el10.x86_64 lua-libs-5.4.6-7.el10.x86_64 lua-srpm-macros-1-15.el10.noarch lz4-libs-1.9.4-8.el10.x86_64 mpfr-4.2.1-5.el10.x86_64 ncurses-base-6.4-14.20240127.el10.noarch ncurses-libs-6.4-14.20240127.el10.x86_64 ocaml-srpm-macros-10-4.el10.noarch openblas-srpm-macros-2-19.el10.noarch openldap-2.6.9-1.el10.x86_64 openssl-fips-provider-3.5.1-6.el10.x86_64 openssl-libs-3.5.1-6.el10.x86_64 p11-kit-0.25.10-1.el10.x86_64 p11-kit-trust-0.25.10-1.el10.x86_64 package-notes-srpm-macros-0.5-13.el10.noarch pam-1.6.1-9.el10.x86_64 pam-libs-1.6.1-9.el10.x86_64 patch-2.7.6-26.el10.x86_64 pcre2-10.44-1.el10.3.x86_64 pcre2-syntax-10.44-1.el10.3.noarch perl-srpm-macros-1-57.el10.noarch pkgconf-2.1.0-3.el10.x86_64 pkgconf-m4-2.1.0-3.el10.noarch pkgconf-pkg-config-2.1.0-3.el10.x86_64 popt-1.19-8.el10.x86_64 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.x86_64 redhat-rpm-config-293-1.el10.noarch rpm-4.19.1.1-21.el10.x86_64 rpm-build-4.19.1.1-21.el10.x86_64 rpm-build-libs-4.19.1.1-21.el10.x86_64 rpm-libs-4.19.1.1-21.el10.x86_64 rpm-sequoia-1.9.0.3-1.el10.x86_64 rust-toolset-srpm-macros-1.91.0-1.el10.noarch sed-4.9-3.el10.x86_64 setup-2.14.5-7.el10.noarch shadow-utils-4.15.0-9.el10.x86_64 sqlite-libs-3.46.1-5.el10.x86_64 systemd-libs-257-21.el10.x86_64 tar-1.35-9.el10.x86_64 unzip-6.0-69.el10.x86_64 util-linux-2.40.2-13.el10.x86_64 util-linux-core-2.40.2-13.el10.x86_64 which-2.21-44.el10.x86_64 xz-5.6.2-4.el10.x86_64 xz-libs-5.6.2-4.el10.x86_64 zip-3.0-45.el10.x86_64 zlib-ng-compat-2.2.3-2.el10.x86_64 zstd-1.5.5-9.el10.x86_64 Start: buildsrpm Start: rpmbuild -bs Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1600992000 Wrote: /builddir/build/SRPMS/gloo-0.5.0-20260108.0.git59945460.cu13_1.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-x86_64-1767922043.759345/root/var/log/dnf.rpm.log /var/lib/mock/centos-stream+epel-10-x86_64-1767922043.759345/root/var/log/dnf.librepo.log /var/lib/mock/centos-stream+epel-10-x86_64-1767922043.759345/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-he8cx9tn/gloo/gloo.spec) Config(child) 0 minutes 28 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-20260108.0.git59945460.cu13_1.el10.src.rpm) Config(centos-stream+epel-10-x86_64) Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/centos-stream+epel-10-x86_64-bootstrap-1767922043.759345/root. INFO: reusing tmpfs at /var/lib/mock/centos-stream+epel-10-x86_64-bootstrap-1767922043.759345/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-x86_64-1767922043.759345/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-21.el10.x86_64 rpm-sequoia-1.9.0.3-1.el10.x86_64 python3-dnf-4.20.0-18.el10.noarch python3-dnf-plugins-core-4.7.0-10.el10.noarch yum-4.20.0-18.el10.noarch Finish: chroot init Start: build phase for gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.src.rpm Start: build setup for gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1600992000 Wrote: /builddir/build/SRPMS/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.src.rpm No matches found for the following disable plugin patterns: local, spacewalk, versionlock Copr repository 107 kB/s | 1.5 kB 00:00 Additional repo copr_rezso_CUDA 117 kB/s | 1.5 kB 00:00 Additional repo https_developer_download_nvidia 233 kB/s | 3.5 kB 00:00 Additional repo https_developer_download_nvidia 250 kB/s | 3.5 kB 00:00 CentOS Stream 10 - BaseOS 33 kB/s | 6.7 kB 00:00 CentOS Stream 10 - AppStream 37 kB/s | 6.9 kB 00:00 CentOS Stream 10 - CRB 33 kB/s | 6.6 kB 00:00 CentOS Stream 10 - Extras packages 37 kB/s | 7.3 kB 00:00 Extra Packages for Enterprise Linux 10 - x86_64 125 kB/s | 33 kB 00:00 Dependencies resolved. ============================================================================================================================================= Package Arch Version Repository Size ============================================================================================================================================= Installing: cmake x86_64 3.31.8-1.el10 appstream 13 M cuda-cudart-devel-13-1 x86_64 13.1.80-1 https_developer_download_nvidia_com_compute_cuda_repos_rhel9_x86_64 1.9 M cuda-gcc-13-c++ x86_64 13.3.1-4.el10 copr_base 15 M cuda-nvcc-13-1 x86_64 13.1.80-1 https_developer_download_nvidia_com_compute_cuda_repos_rhel9_x86_64 40 M cuda-nvml-devel-13-1 x86_64 13.1.68-1 https_developer_download_nvidia_com_compute_cuda_repos_rhel9_x86_64 224 k gcc-c++ x86_64 14.3.1-4.1.el10 appstream 15 M git x86_64 2.47.3-1.el10 appstream 51 k hiredis-devel x86_64 1.2.0-5.el10_0 epel 50 k libnccl x86_64 2.29.2-1+cuda13.1 https_developer_download_nvidia_com_compute_cuda_repos_rhel9_x86_64 192 M libnccl-devel x86_64 2.29.2-1+cuda13.1 https_developer_download_nvidia_com_compute_cuda_repos_rhel9_x86_64 88 k libuv-devel x86_64 1:1.51.0-1.el10 appstream 42 k rdma-core-devel x86_64 57.0-2.el10 appstream 479 k Installing dependencies: annobin-docs noarch 13.02-1.el10 appstream 88 k annobin-plugin-gcc x86_64 13.02-1.el10 appstream 998 k cmake-data noarch 3.31.8-1.el10 appstream 2.7 M cmake-filesystem x86_64 3.31.8-1.el10 appstream 21 k cmake-rpm-macros noarch 3.31.8-1.el10 appstream 12 k cpp x86_64 14.3.1-4.1.el10 appstream 13 M cuda-cccl-13-1 x86_64 13.1.78-1 https_developer_download_nvidia_com_compute_cuda_repos_rhel9_x86_64 1.9 M cuda-crt-13-1 x86_64 13.1.80-1 https_developer_download_nvidia_com_compute_cuda_repos_rhel9_x86_64 121 k cuda-cudart-13-1 x86_64 13.1.80-1 https_developer_download_nvidia_com_compute_cuda_repos_rhel9_x86_64 238 k cuda-culibos-devel-13-1 x86_64 13.1.68-1 https_developer_download_nvidia_com_compute_cuda_repos_rhel9_x86_64 32 k cuda-gcc-13 x86_64 13.3.1-4.el10 copr_base 35 M cuda-toolkit-13-1-config-common noarch 13.1.80-1 https_developer_download_nvidia_com_compute_cuda_repos_rhel9_x86_64 7.8 k cuda-toolkit-13-config-common noarch 13.1.80-1 https_developer_download_nvidia_com_compute_cuda_repos_rhel9_x86_64 8.0 k cuda-toolkit-config-common noarch 13.1.80-1 https_developer_download_nvidia_com_compute_cuda_repos_rhel9_x86_64 8.0 k emacs-filesystem noarch 1:29.4-12.el10 appstream 10 k expat x86_64 2.7.3-1.el10 baseos 120 k gcc x86_64 14.3.1-4.1.el10 appstream 38 M gcc-plugin-annobin x86_64 14.3.1-4.1.el10 appstream 69 k git-core x86_64 2.47.3-1.el10 appstream 4.8 M git-core-doc noarch 2.47.3-1.el10 appstream 3.1 M glibc-devel x86_64 2.39-91.el10 appstream 600 k groff-base x86_64 1.23.0-10.el10 baseos 1.1 M hiredis x86_64 1.2.0-5.el10_0 epel 50 k infiniband-diags x86_64 57.0-2.el10 appstream 341 k kernel-headers x86_64 6.12.0-174.el10 appstream 2.8 M less x86_64 661-3.el10 baseos 191 k libcbor x86_64 0.11.0-3.el10 baseos 34 k libedit x86_64 3.1-52.20230828cvs.el10 baseos 106 k libfido2 x86_64 1.14.0-7.el10 baseos 98 k libibumad x86_64 57.0-2.el10 baseos 28 k libibverbs x86_64 57.0-2.el10 baseos 457 k libmpc x86_64 1.3.1-7.el10 appstream 71 k libnl3 x86_64 3.11.0-1.el10 baseos 361 k libnvptxcompiler-13-1 x86_64 13.1.80-1 https_developer_download_nvidia_com_compute_cuda_repos_rhel9_x86_64 26 M libnvvm-13-1 x86_64 13.1.80-1 https_developer_download_nvidia_com_compute_cuda_repos_rhel9_x86_64 60 M librdmacm x86_64 57.0-2.el10 baseos 72 k libstdc++-devel x86_64 14.3.1-4.1.el10 appstream 2.8 M libuv x86_64 1:1.51.0-1.el10 appstream 263 k libuv-static x86_64 1:1.51.0-1.el10 appstream 110 k libxcrypt-devel x86_64 4.4.36-10.el10 appstream 30 k make x86_64 1:4.4.1-9.el10 baseos 587 k mpdecimal x86_64 2.5.1-12.el10 baseos 90 k ncurses x86_64 6.4-14.20240127.el10 baseos 423 k openssh x86_64 9.9p1-19.el10 baseos 352 k openssh-clients x86_64 9.9p1-19.el10 baseos 765 k perl-AutoLoader noarch 5.74-514.el10 appstream 22 k perl-B x86_64 1.89-514.el10 appstream 178 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 x86_64 2.189-512.el10 baseos 57 k perl-Digest noarch 1.20-511.el10 baseos 26 k perl-Digest-MD5 x86_64 2.59-6.el10 baseos 37 k perl-DynaLoader x86_64 1.56-514.el10 appstream 27 k perl-Encode x86_64 4:3.21-511.el10 baseos 1.1 M perl-Errno x86_64 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 x86_64 1.18-514.el10 appstream 30 k perl-File-Basename noarch 2.86-514.el10 appstream 18 k perl-File-Find noarch 1.44-514.el10 appstream 26 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.47.3-1.el10 appstream 38 k perl-HTTP-Tiny noarch 0.088-512.el10 baseos 57 k perl-IO x86_64 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 x86_64 3.16-511.el10 baseos 31 k perl-Mozilla-CA noarch 20231213-5.el10 baseos 15 k perl-Net-SSLeay x86_64 1.94-8.el10 appstream 380 k perl-POSIX x86_64 2.20-514.el10 appstream 97 k perl-PathTools x86_64 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 x86_64 5:1.63-511.el10 baseos 74 k perl-SelectSaver noarch 1.02-514.el10 appstream 12 k perl-Socket x86_64 4:2.038-511.el10 baseos 56 k perl-Storable x86_64 1:3.32-511.el10 baseos 99 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 x86_64 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 x86_64 4:5.40.2-514.el10 appstream 73 k perl-lib x86_64 0.65-514.el10 appstream 16 k perl-libnet noarch 3.15-512.el10 baseos 127 k perl-libs x86_64 4:5.40.2-514.el10 appstream 2.4 M perl-locale noarch 1.12-514.el10 appstream 14 k perl-mro x86_64 1.29-514.el10 appstream 31 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 x86_64 3.12.12-1.el10 baseos 28 k python3-libs x86_64 3.12.12-1.el10 baseos 9.4 M python3-pip-wheel noarch 23.3.2-7.el10 baseos 1.5 M tzdata noarch 2025c-1.el10 baseos 904 k vim-filesystem noarch 2:9.1.083-6.el10 baseos 15 k Transaction Summary ============================================================================================================================================= Install 124 Packages Total download size: 494 M Installed size: 1.2 G Downloading Packages: (1/124): cuda-cccl-13-1-13.1.78-1.x86_64.rpm 28 MB/s | 1.9 MB 00:00 (2/124): cuda-gcc-13-c++-13.3.1-4.el10.x86_64.r 136 MB/s | 15 MB 00:00 (3/124): cuda-crt-13-1-13.1.80-1.x86_64.rpm 2.0 MB/s | 121 kB 00:00 (4/124): cuda-cudart-13-1-13.1.80-1.x86_64.rpm 13 MB/s | 238 kB 00:00 (5/124): cuda-gcc-13-13.3.1-4.el10.x86_64.rpm 189 MB/s | 35 MB 00:00 (6/124): cuda-culibos-devel-13-1-13.1.68-1.x86_ 637 kB/s | 32 kB 00:00 (7/124): cuda-cudart-devel-13-1-13.1.80-1.x86_6 29 MB/s | 1.9 MB 00:00 (8/124): cuda-nvml-devel-13-1-13.1.68-1.x86_64. 6.8 MB/s | 224 kB 00:00 (9/124): cuda-toolkit-13-1-config-common-13.1.8 69 kB/s | 7.8 kB 00:00 (10/124): cuda-toolkit-config-common-13.1.80-1. 239 kB/s | 8.0 kB 00:00 (11/124): cuda-nvcc-13-1-13.1.80-1.x86_64.rpm 188 MB/s | 40 MB 00:00 (12/124): cuda-toolkit-13-config-common-13.1.80 42 kB/s | 8.0 kB 00:00 (13/124): libnccl-devel-2.29.2-1+cuda13.1.x86_6 1.8 MB/s | 88 kB 00:00 (14/124): libnvptxcompiler-13-1-13.1.80-1.x86_6 99 MB/s | 26 MB 00:00 (15/124): expat-2.7.3-1.el10.x86_64.rpm 13 MB/s | 120 kB 00:00 (16/124): groff-base-1.23.0-10.el10.x86_64.rpm 113 MB/s | 1.1 MB 00:00 (17/124): less-661-3.el10.x86_64.rpm 53 MB/s | 191 kB 00:00 (18/124): libcbor-0.11.0-3.el10.x86_64.rpm 18 MB/s | 34 kB 00:00 (19/124): libedit-3.1-52.20230828cvs.el10.x86_6 24 MB/s | 106 kB 00:00 (20/124): libfido2-1.14.0-7.el10.x86_64.rpm 35 MB/s | 98 kB 00:00 (21/124): libibumad-57.0-2.el10.x86_64.rpm 6.3 MB/s | 28 kB 00:00 (22/124): libibverbs-57.0-2.el10.x86_64.rpm 73 MB/s | 457 kB 00:00 (23/124): libnl3-3.11.0-1.el10.x86_64.rpm 61 MB/s | 361 kB 00:00 (24/124): librdmacm-57.0-2.el10.x86_64.rpm 17 MB/s | 72 kB 00:00 (25/124): make-4.4.1-9.el10.x86_64.rpm 83 MB/s | 587 kB 00:00 (26/124): mpdecimal-2.5.1-12.el10.x86_64.rpm 25 MB/s | 90 kB 00:00 (27/124): ncurses-6.4-14.20240127.el10.x86_64.r 93 MB/s | 423 kB 00:00 (28/124): openssh-9.9p1-19.el10.x86_64.rpm 70 MB/s | 352 kB 00:00 (29/124): openssh-clients-9.9p1-19.el10.x86_64. 97 MB/s | 765 kB 00:00 (30/124): perl-Carp-1.54-511.el10.noarch.rpm 19 MB/s | 30 kB 00:00 (31/124): perl-Data-Dumper-2.189-512.el10.x86_6 35 MB/s | 57 kB 00:00 (32/124): perl-Digest-1.20-511.el10.noarch.rpm 18 MB/s | 26 kB 00:00 (33/124): perl-Digest-MD5-2.59-6.el10.x86_64.rp 25 MB/s | 37 kB 00:00 (34/124): perl-Encode-3.21-511.el10.x86_64.rpm 121 MB/s | 1.1 MB 00:00 (35/124): perl-Exporter-5.78-511.el10.noarch.rp 20 MB/s | 32 kB 00:00 (36/124): perl-File-Temp-0.231.100-512.el10.noa 37 MB/s | 60 kB 00:00 (37/124): perl-Getopt-Long-2.58-3.el10.noarch.r 29 MB/s | 65 kB 00:00 (38/124): perl-HTTP-Tiny-0.088-512.el10.noarch. 35 MB/s | 57 kB 00:00 (39/124): perl-IO-Socket-IP-0.42-512.el10.noarc 29 MB/s | 43 kB 00:00 (40/124): perl-IO-Socket-SSL-2.085-3.el10.noarc 76 MB/s | 227 kB 00:00 (41/124): perl-MIME-Base64-3.16-511.el10.x86_64 19 MB/s | 31 kB 00:00 (42/124): perl-Mozilla-CA-20231213-5.el10.noarc 11 MB/s | 15 kB 00:00 (43/124): perl-PathTools-3.91-512.el10.x86_64.r 38 MB/s | 85 kB 00:00 (44/124): perl-Pod-Escapes-1.07-511.el10.noarch 15 MB/s | 21 kB 00:00 (45/124): perl-Pod-Perldoc-3.28.01-512.el10.noa 34 MB/s | 84 kB 00:00 (46/124): perl-Pod-Simple-3.45-511.el10.noarch. 57 MB/s | 218 kB 00:00 (47/124): perl-Pod-Usage-2.03-511.el10.noarch.r 27 MB/s | 41 kB 00:00 (48/124): perl-Scalar-List-Utils-1.63-511.el10. 35 MB/s | 74 kB 00:00 (49/124): perl-Socket-2.038-511.el10.x86_64.rpm 32 MB/s | 56 kB 00:00 (50/124): perl-Storable-3.32-511.el10.x86_64.rp 40 MB/s | 99 kB 00:00 (51/124): perl-Term-ANSIColor-5.01-512.el10.noa 29 MB/s | 49 kB 00:00 (52/124): perl-Term-Cap-1.18-511.el10.noarch.rp 16 MB/s | 23 kB 00:00 (53/124): perl-Text-ParseWords-3.31-511.el10.no 10 MB/s | 17 kB 00:00 (54/124): perl-Text-Tabs+Wrap-2024.001-511.el10 14 MB/s | 23 kB 00:00 (55/124): perl-Time-Local-1.350-511.el10.noarch 23 MB/s | 35 kB 00:00 (56/124): perl-URI-5.27-3.el10.noarch.rpm 50 MB/s | 134 kB 00:00 (57/124): perl-constant-1.33-512.el10.noarch.rp 17 MB/s | 24 kB 00:00 (58/124): perl-libnet-3.15-512.el10.noarch.rpm 50 MB/s | 127 kB 00:00 (59/124): perl-parent-0.241-512.el10.noarch.rpm 11 MB/s | 16 kB 00:00 (60/124): perl-podlators-5.01-511.el10.noarch.r 47 MB/s | 124 kB 00:00 (61/124): python3-3.12.12-1.el10.x86_64.rpm 12 MB/s | 28 kB 00:00 (62/124): libnvvm-13-1-13.1.80-1.x86_64.rpm 120 MB/s | 60 MB 00:00 (63/124): python3-libs-3.12.12-1.el10.x86_64.rp 75 MB/s | 9.4 MB 00:00 (64/124): python3-pip-wheel-23.3.2-7.el10.noarc 75 MB/s | 1.5 MB 00:00 (65/124): tzdata-2025c-1.el10.noarch.rpm 109 MB/s | 904 kB 00:00 (66/124): vim-filesystem-9.1.083-6.el10.noarch. 4.6 MB/s | 15 kB 00:00 (67/124): annobin-docs-13.02-1.el10.noarch.rpm 22 MB/s | 88 kB 00:00 (68/124): annobin-plugin-gcc-13.02-1.el10.x86_6 133 MB/s | 998 kB 00:00 (69/124): cmake-data-3.31.8-1.el10.noarch.rpm 114 MB/s | 2.7 MB 00:00 (70/124): cmake-filesystem-3.31.8-1.el10.x86_64 1.6 MB/s | 21 kB 00:00 (71/124): cmake-3.31.8-1.el10.x86_64.rpm 192 MB/s | 13 MB 00:00 (72/124): cmake-rpm-macros-3.31.8-1.el10.noarch 494 kB/s | 12 kB 00:00 (73/124): emacs-filesystem-29.4-12.el10.noarch. 3.1 MB/s | 10 kB 00:00 (74/124): cpp-14.3.1-4.1.el10.x86_64.rpm 156 MB/s | 13 MB 00:00 (75/124): gcc-14.3.1-4.1.el10.x86_64.rpm 187 MB/s | 38 MB 00:00 (76/124): gcc-c++-14.3.1-4.1.el10.x86_64.rpm 91 MB/s | 15 MB 00:00 (77/124): gcc-plugin-annobin-14.3.1-4.1.el10.x8 1.7 MB/s | 69 kB 00:00 (78/124): git-2.47.3-1.el10.x86_64.rpm 14 MB/s | 51 kB 00:00 (79/124): git-core-2.47.3-1.el10.x86_64.rpm 183 MB/s | 4.8 MB 00:00 (80/124): glibc-devel-2.39-91.el10.x86_64.rpm 77 MB/s | 600 kB 00:00 (81/124): git-core-doc-2.47.3-1.el10.noarch.rpm 69 MB/s | 3.1 MB 00:00 (82/124): kernel-headers-6.12.0-174.el10.x86_64 142 MB/s | 2.8 MB 00:00 (83/124): libmpc-1.3.1-7.el10.x86_64.rpm 24 MB/s | 71 kB 00:00 (84/124): libstdc++-devel-14.3.1-4.1.el10.x86_6 201 MB/s | 2.8 MB 00:00 (85/124): libuv-1.51.0-1.el10.x86_64.rpm 60 MB/s | 263 kB 00:00 (86/124): libuv-devel-1.51.0-1.el10.x86_64.rpm 6.9 MB/s | 42 kB 00:00 (87/124): libuv-static-1.51.0-1.el10.x86_64.rpm 14 MB/s | 110 kB 00:00 (88/124): libxcrypt-devel-4.4.36-10.el10.x86_64 11 MB/s | 30 kB 00:00 (89/124): perl-AutoLoader-5.74-514.el10.noarch. 11 MB/s | 22 kB 00:00 (90/124): perl-B-1.89-514.el10.x86_64.rpm 55 MB/s | 178 kB 00:00 (91/124): perl-Class-Struct-0.68-514.el10.noarc 16 MB/s | 23 kB 00:00 (92/124): perl-DynaLoader-1.56-514.el10.x86_64. 18 MB/s | 27 kB 00:00 (93/124): perl-Errno-1.38-514.el10.x86_64.rpm 11 MB/s | 16 kB 00:00 (94/124): perl-Error-0.17029-18.el10.noarch.rpm 17 MB/s | 42 kB 00:00 (95/124): perl-Fcntl-1.18-514.el10.x86_64.rpm 22 MB/s | 30 kB 00:00 (96/124): perl-File-Basename-2.86-514.el10.noar 13 MB/s | 18 kB 00:00 (97/124): perl-File-Find-1.44-514.el10.noarch.r 8.3 MB/s | 26 kB 00:00 (98/124): perl-File-Path-2.18-512.el10.noarch.r 19 MB/s | 35 kB 00:00 (99/124): perl-File-stat-1.14-514.el10.noarch.r 13 MB/s | 18 kB 00:00 (100/124): perl-FileHandle-2.05-514.el10.noarch 12 MB/s | 16 kB 00:00 (101/124): perl-Getopt-Std-1.14-514.el10.noarch 13 MB/s | 16 kB 00:00 (102/124): perl-Git-2.47.3-1.el10.noarch.rpm 19 MB/s | 38 kB 00:00 (103/124): perl-IO-1.55-514.el10.x86_64.rpm 37 MB/s | 81 kB 00:00 (104/124): perl-IPC-Open3-1.22-514.el10.noarch. 13 MB/s | 23 kB 00:00 (105/124): perl-Net-SSLeay-1.94-8.el10.x86_64.r 116 MB/s | 380 kB 00:00 (106/124): perl-POSIX-2.20-514.el10.x86_64.rpm 44 MB/s | 97 kB 00:00 (107/124): perl-SelectSaver-1.02-514.el10.noarc 8.2 MB/s | 12 kB 00:00 (108/124): perl-Symbol-1.09-514.el10.noarch.rpm 11 MB/s | 15 kB 00:00 (109/124): perl-TermReadKey-2.38-24.el10.x86_64 12 MB/s | 37 kB 00:00 (110/124): perl-base-2.27-514.el10.noarch.rpm 11 MB/s | 17 kB 00:00 (111/124): perl-if-0.61.000-514.el10.noarch.rpm 11 MB/s | 15 kB 00:00 (112/124): perl-interpreter-5.40.2-514.el10.x86 33 MB/s | 73 kB 00:00 (113/124): perl-lib-0.65-514.el10.x86_64.rpm 8.7 MB/s | 16 kB 00:00 (114/124): perl-libs-5.40.2-514.el10.x86_64.rpm 210 MB/s | 2.4 MB 00:00 (115/124): perl-locale-1.12-514.el10.noarch.rpm 10 MB/s | 14 kB 00:00 (116/124): perl-mro-1.29-514.el10.x86_64.rpm 22 MB/s | 31 kB 00:00 (117/124): perl-overload-1.37-514.el10.noarch.r 32 MB/s | 46 kB 00:00 (118/124): perl-overloading-0.02-514.el10.noarc 10 MB/s | 14 kB 00:00 (119/124): perl-vars-1.05-514.el10.noarch.rpm 10 MB/s | 14 kB 00:00 (120/124): libnccl-2.29.2-1+cuda13.1.x86_64.rpm 138 MB/s | 192 MB 00:01 (121/124): hiredis-1.2.0-5.el10_0.x86_64.rpm 3.5 MB/s | 50 kB 00:00 (122/124): hiredis-devel-1.2.0-5.el10_0.x86_64. 1.0 MB/s | 50 kB 00:00 (123/124): infiniband-diags-57.0-2.el10.x86_64. 728 kB/s | 341 kB 00:00 (124/124): rdma-core-devel-57.0-2.el10.x86_64.r 853 kB/s | 479 kB 00:00 -------------------------------------------------------------------------------- Total 183 MB/s | 494 MB 00:02 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : libmpc-1.3.1-7.el10.x86_64 1/124 Installing : cmake-filesystem-3.31.8-1.el10.x86_64 2/124 Installing : expat-2.7.3-1.el10.x86_64 3/124 Installing : libuv-1:1.51.0-1.el10.x86_64 4/124 Installing : make-1:4.4.1-9.el10.x86_64 5/124 Installing : libnl3-3.11.0-1.el10.x86_64 6/124 Installing : libibverbs-57.0-2.el10.x86_64 7/124 Installing : libibumad-57.0-2.el10.x86_64 8/124 Installing : librdmacm-57.0-2.el10.x86_64 9/124 Installing : libuv-static-1:1.51.0-1.el10.x86_64 10/124 Installing : libuv-devel-1:1.51.0-1.el10.x86_64 11/124 Installing : cuda-gcc-13-13.3.1-4.el10.x86_64 12/124 Installing : cpp-14.3.1-4.1.el10.x86_64 13/124 Installing : hiredis-1.2.0-5.el10_0.x86_64 14/124 Installing : libstdc++-devel-14.3.1-4.1.el10.x86_64 15/124 Installing : kernel-headers-6.12.0-174.el10.x86_64 16/124 Installing : libxcrypt-devel-4.4.36-10.el10.x86_64 17/124 Installing : glibc-devel-2.39-91.el10.x86_64 18/124 Installing : gcc-14.3.1-4.1.el10.x86_64 19/124 Running scriptlet: gcc-14.3.1-4.1.el10.x86_64 19/124 Installing : gcc-c++-14.3.1-4.1.el10.x86_64 20/124 Installing : emacs-filesystem-1:29.4-12.el10.noarch 21/124 Installing : annobin-docs-13.02-1.el10.noarch 22/124 Installing : vim-filesystem-2:9.1.083-6.el10.noarch 23/124 Installing : tzdata-2025c-1.el10.noarch 24/124 Installing : python3-pip-wheel-23.3.2-7.el10.noarch 25/124 Installing : openssh-9.9p1-19.el10.x86_64 26/124 Installing : ncurses-6.4-14.20240127.el10.x86_64 27/124 Installing : mpdecimal-2.5.1-12.el10.x86_64 28/124 Installing : python3-3.12.12-1.el10.x86_64 29/124 Installing : python3-libs-3.12.12-1.el10.x86_64 30/124 Installing : cmake-rpm-macros-3.31.8-1.el10.noarch 31/124 Installing : cmake-data-3.31.8-1.el10.noarch 32/124 Installing : cmake-3.31.8-1.el10.x86_64 33/124 Installing : libedit-3.1-52.20230828cvs.el10.x86_64 34/124 Installing : libcbor-0.11.0-3.el10.x86_64 35/124 Installing : libfido2-1.14.0-7.el10.x86_64 36/124 Installing : openssh-clients-9.9p1-19.el10.x86_64 37/124 Running scriptlet: openssh-clients-9.9p1-19.el10.x86_64 37/124 Installing : less-661-3.el10.x86_64 38/124 Installing : git-core-2.47.3-1.el10.x86_64 39/124 Installing : git-core-doc-2.47.3-1.el10.noarch 40/124 Running scriptlet: groff-base-1.23.0-10.el10.x86_64 41/124 Installing : groff-base-1.23.0-10.el10.x86_64 41/124 Running scriptlet: groff-base-1.23.0-10.el10.x86_64 41/124 Installing : perl-Digest-1.20-511.el10.noarch 42/124 Installing : perl-Digest-MD5-2.59-6.el10.x86_64 43/124 Installing : perl-B-1.89-514.el10.x86_64 44/124 Installing : perl-FileHandle-2.05-514.el10.noarch 45/124 Installing : perl-Data-Dumper-2.189-512.el10.x86_64 46/124 Installing : perl-libnet-3.15-512.el10.noarch 47/124 Installing : perl-AutoLoader-5.74-514.el10.noarch 48/124 Installing : perl-URI-5.27-3.el10.noarch 49/124 Installing : perl-Text-Tabs+Wrap-2024.001-511.el10.noarch 50/124 Installing : perl-Time-Local-2:1.350-511.el10.noarch 51/124 Installing : perl-Mozilla-CA-20231213-5.el10.noarch 52/124 Installing : perl-if-0.61.000-514.el10.noarch 53/124 Installing : perl-locale-1.12-514.el10.noarch 54/124 Installing : perl-IO-Socket-IP-0.42-512.el10.noarch 55/124 Installing : perl-Pod-Escapes-1:1.07-511.el10.noarch 56/124 Installing : perl-File-Path-2.18-512.el10.noarch 57/124 Installing : perl-IO-Socket-SSL-2.085-3.el10.noarch 58/124 Installing : perl-Net-SSLeay-1.94-8.el10.x86_64 59/124 Installing : perl-Term-ANSIColor-5.01-512.el10.noarch 60/124 Installing : perl-Class-Struct-0.68-514.el10.noarch 61/124 Installing : perl-POSIX-2.20-514.el10.x86_64 62/124 Installing : perl-IPC-Open3-1.22-514.el10.noarch 63/124 Installing : perl-Term-Cap-1.18-511.el10.noarch 64/124 Installing : perl-File-Temp-1:0.231.100-512.el10.noarch 65/124 Installing : perl-HTTP-Tiny-0.088-512.el10.noarch 66/124 Installing : perl-Pod-Simple-1:3.45-511.el10.noarch 67/124 Installing : perl-Socket-4:2.038-511.el10.x86_64 68/124 Installing : perl-SelectSaver-1.02-514.el10.noarch 69/124 Installing : perl-Symbol-1.09-514.el10.noarch 70/124 Installing : perl-File-stat-1.14-514.el10.noarch 71/124 Installing : perl-podlators-1:5.01-511.el10.noarch 72/124 Installing : perl-Pod-Perldoc-3.28.01-512.el10.noarch 73/124 Installing : perl-Text-ParseWords-3.31-511.el10.noarch 74/124 Installing : perl-Fcntl-1.18-514.el10.x86_64 75/124 Installing : perl-base-2.27-514.el10.noarch 76/124 Installing : perl-mro-1.29-514.el10.x86_64 77/124 Installing : perl-IO-1.55-514.el10.x86_64 78/124 Installing : perl-overloading-0.02-514.el10.noarch 79/124 Installing : perl-Pod-Usage-4:2.03-511.el10.noarch 80/124 Installing : perl-MIME-Base64-3.16-511.el10.x86_64 81/124 Installing : perl-Scalar-List-Utils-5:1.63-511.el10.x86_64 82/124 Installing : perl-constant-1.33-512.el10.noarch 83/124 Installing : perl-parent-1:0.241-512.el10.noarch 84/124 Installing : perl-Errno-1.38-514.el10.x86_64 85/124 Installing : perl-File-Basename-2.86-514.el10.noarch 86/124 Installing : perl-Getopt-Std-1.14-514.el10.noarch 87/124 Installing : perl-Storable-1:3.32-511.el10.x86_64 88/124 Installing : perl-overload-1.37-514.el10.noarch 89/124 Installing : perl-vars-1.05-514.el10.noarch 90/124 Installing : perl-Getopt-Long-1:2.58-3.el10.noarch 91/124 Installing : perl-Carp-1.54-511.el10.noarch 92/124 Installing : perl-Exporter-5.78-511.el10.noarch 93/124 Installing : perl-PathTools-3.91-512.el10.x86_64 94/124 Installing : perl-DynaLoader-1.56-514.el10.x86_64 95/124 Installing : perl-Encode-4:3.21-511.el10.x86_64 96/124 Installing : perl-libs-4:5.40.2-514.el10.x86_64 97/124 Installing : perl-interpreter-4:5.40.2-514.el10.x86_64 98/124 Installing : infiniband-diags-57.0-2.el10.x86_64 99/124 Installing : perl-Error-1:0.17029-18.el10.noarch 100/124 Installing : perl-File-Find-1.44-514.el10.noarch 101/124 Installing : perl-TermReadKey-2.38-24.el10.x86_64 102/124 Installing : perl-lib-0.65-514.el10.x86_64 103/124 Installing : perl-Git-2.47.3-1.el10.noarch 104/124 Installing : git-2.47.3-1.el10.x86_64 105/124 Installing : libnvvm-13-1-13.1.80-1.x86_64 106/124 Installing : libnvptxcompiler-13-1-13.1.80-1.x86_64 107/124 Installing : libnccl-2.29.2-1+cuda13.1.x86_64 108/124 Installing : cuda-toolkit-config-common-13.1.80-1.noarch 109/124 Installing : cuda-toolkit-13-config-common-13.1.80-1.noarch 110/124 Installing : cuda-toolkit-13-1-config-common-13.1.80-1.noarch 111/124 Installing : cuda-cudart-13-1-13.1.80-1.x86_64 112/124 Running scriptlet: cuda-cudart-13-1-13.1.80-1.x86_64 112/124 Installing : cuda-culibos-devel-13-1-13.1.68-1.x86_64 113/124 Installing : cuda-crt-13-1-13.1.80-1.x86_64 114/124 Installing : cuda-cccl-13-1-13.1.78-1.x86_64 115/124 Installing : cuda-cudart-devel-13-1-13.1.80-1.x86_64 116/124 Installing : cuda-nvcc-13-1-13.1.80-1.x86_64 117/124 Installing : libnccl-devel-2.29.2-1+cuda13.1.x86_64 118/124 Installing : rdma-core-devel-57.0-2.el10.x86_64 119/124 Installing : annobin-plugin-gcc-13.02-1.el10.x86_64 120/124 Running scriptlet: annobin-plugin-gcc-13.02-1.el10.x86_64 120/124 Installing : gcc-plugin-annobin-14.3.1-4.1.el10.x86_64 121/124 Running scriptlet: gcc-plugin-annobin-14.3.1-4.1.el10.x86_64 121/124 Installing : hiredis-devel-1.2.0-5.el10_0.x86_64 122/124 Installing : cuda-gcc-13-c++-13.3.1-4.el10.x86_64 123/124 Installing : cuda-nvml-devel-13-1-13.1.68-1.x86_64 124/124 Running scriptlet: cuda-toolkit-13-1-config-common-13.1.80-1.noarch 124/124 Running scriptlet: cuda-nvml-devel-13-1-13.1.68-1.x86_64 124/124 Installed: annobin-docs-13.02-1.el10.noarch annobin-plugin-gcc-13.02-1.el10.x86_64 cmake-3.31.8-1.el10.x86_64 cmake-data-3.31.8-1.el10.noarch cmake-filesystem-3.31.8-1.el10.x86_64 cmake-rpm-macros-3.31.8-1.el10.noarch cpp-14.3.1-4.1.el10.x86_64 cuda-cccl-13-1-13.1.78-1.x86_64 cuda-crt-13-1-13.1.80-1.x86_64 cuda-cudart-13-1-13.1.80-1.x86_64 cuda-cudart-devel-13-1-13.1.80-1.x86_64 cuda-culibos-devel-13-1-13.1.68-1.x86_64 cuda-gcc-13-13.3.1-4.el10.x86_64 cuda-gcc-13-c++-13.3.1-4.el10.x86_64 cuda-nvcc-13-1-13.1.80-1.x86_64 cuda-nvml-devel-13-1-13.1.68-1.x86_64 cuda-toolkit-13-1-config-common-13.1.80-1.noarch cuda-toolkit-13-config-common-13.1.80-1.noarch cuda-toolkit-config-common-13.1.80-1.noarch emacs-filesystem-1:29.4-12.el10.noarch expat-2.7.3-1.el10.x86_64 gcc-14.3.1-4.1.el10.x86_64 gcc-c++-14.3.1-4.1.el10.x86_64 gcc-plugin-annobin-14.3.1-4.1.el10.x86_64 git-2.47.3-1.el10.x86_64 git-core-2.47.3-1.el10.x86_64 git-core-doc-2.47.3-1.el10.noarch glibc-devel-2.39-91.el10.x86_64 groff-base-1.23.0-10.el10.x86_64 hiredis-1.2.0-5.el10_0.x86_64 hiredis-devel-1.2.0-5.el10_0.x86_64 infiniband-diags-57.0-2.el10.x86_64 kernel-headers-6.12.0-174.el10.x86_64 less-661-3.el10.x86_64 libcbor-0.11.0-3.el10.x86_64 libedit-3.1-52.20230828cvs.el10.x86_64 libfido2-1.14.0-7.el10.x86_64 libibumad-57.0-2.el10.x86_64 libibverbs-57.0-2.el10.x86_64 libmpc-1.3.1-7.el10.x86_64 libnccl-2.29.2-1+cuda13.1.x86_64 libnccl-devel-2.29.2-1+cuda13.1.x86_64 libnl3-3.11.0-1.el10.x86_64 libnvptxcompiler-13-1-13.1.80-1.x86_64 libnvvm-13-1-13.1.80-1.x86_64 librdmacm-57.0-2.el10.x86_64 libstdc++-devel-14.3.1-4.1.el10.x86_64 libuv-1:1.51.0-1.el10.x86_64 libuv-devel-1:1.51.0-1.el10.x86_64 libuv-static-1:1.51.0-1.el10.x86_64 libxcrypt-devel-4.4.36-10.el10.x86_64 make-1:4.4.1-9.el10.x86_64 mpdecimal-2.5.1-12.el10.x86_64 ncurses-6.4-14.20240127.el10.x86_64 openssh-9.9p1-19.el10.x86_64 openssh-clients-9.9p1-19.el10.x86_64 perl-AutoLoader-5.74-514.el10.noarch perl-B-1.89-514.el10.x86_64 perl-Carp-1.54-511.el10.noarch perl-Class-Struct-0.68-514.el10.noarch perl-Data-Dumper-2.189-512.el10.x86_64 perl-Digest-1.20-511.el10.noarch perl-Digest-MD5-2.59-6.el10.x86_64 perl-DynaLoader-1.56-514.el10.x86_64 perl-Encode-4:3.21-511.el10.x86_64 perl-Errno-1.38-514.el10.x86_64 perl-Error-1:0.17029-18.el10.noarch perl-Exporter-5.78-511.el10.noarch perl-Fcntl-1.18-514.el10.x86_64 perl-File-Basename-2.86-514.el10.noarch perl-File-Find-1.44-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.47.3-1.el10.noarch perl-HTTP-Tiny-0.088-512.el10.noarch perl-IO-1.55-514.el10.x86_64 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.x86_64 perl-Mozilla-CA-20231213-5.el10.noarch perl-Net-SSLeay-1.94-8.el10.x86_64 perl-POSIX-2.20-514.el10.x86_64 perl-PathTools-3.91-512.el10.x86_64 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.x86_64 perl-SelectSaver-1.02-514.el10.noarch perl-Socket-4:2.038-511.el10.x86_64 perl-Storable-1:3.32-511.el10.x86_64 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.x86_64 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.x86_64 perl-lib-0.65-514.el10.x86_64 perl-libnet-3.15-512.el10.noarch perl-libs-4:5.40.2-514.el10.x86_64 perl-locale-1.12-514.el10.noarch perl-mro-1.29-514.el10.x86_64 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-1.el10.x86_64 python3-libs-3.12.12-1.el10.x86_64 python3-pip-wheel-23.3.2-7.el10.noarch rdma-core-devel-57.0-2.el10.x86_64 tzdata-2025c-1.el10.noarch vim-filesystem-2:9.1.083-6.el10.noarch Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1600992000 Wrote: /builddir/build/SRPMS/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.src.rpm No matches found for the following disable plugin patterns: local, spacewalk, versionlock Copr repository 107 kB/s | 1.5 kB 00:00 Additional repo copr_rezso_CUDA 116 kB/s | 1.5 kB 00:00 Additional repo https_developer_download_nvidia 263 kB/s | 3.5 kB 00:00 Additional repo https_developer_download_nvidia 276 kB/s | 3.5 kB 00:00 CentOS Stream 10 - BaseOS 35 kB/s | 6.7 kB 00:00 CentOS Stream 10 - AppStream 34 kB/s | 6.9 kB 00:00 CentOS Stream 10 - CRB 34 kB/s | 6.6 kB 00:00 CentOS Stream 10 - Extras packages 39 kB/s | 7.3 kB 00:00 Extra Packages for Enterprise Linux 10 - x86_64 127 kB/s | 33 kB 00:00 Package cmake-3.31.8-1.el10.x86_64 is already installed. Package cuda-cudart-devel-13-1-13.1.80-1.x86_64 is already installed. Package cuda-gcc-13-c++-13.3.1-4.el10.x86_64 is already installed. Package cuda-nvcc-13-1-13.1.80-1.x86_64 is already installed. Package cuda-nvml-devel-13-1-13.1.68-1.x86_64 is already installed. Package gcc-c++-14.3.1-4.1.el10.x86_64 is already installed. Package git-2.47.3-1.el10.x86_64 is already installed. Package hiredis-devel-1.2.0-5.el10_0.x86_64 is already installed. Package libnccl-2.29.2-1+cuda13.1.x86_64 is already installed. Package libnccl-devel-2.29.2-1+cuda13.1.x86_64 is already installed. Package libuv-devel-1:1.51.0-1.el10.x86_64 is already installed. Package rdma-core-devel-57.0-2.el10.x86_64 is already installed. Dependencies resolved. Nothing to do. Complete! Finish: build setup for gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.src.rpm Start: rpmbuild gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1600992000 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.AUVjP2 + 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 59945460a7a9fe451e85ef06237fe3d5cb0faf16 From https://github.com/facebookincubator/gloo * branch 59945460a7a9fe451e85ef06237fe3d5cb0faf16 -> FETCH_HEAD + git reset --hard 59945460a7a9fe451e85ef06237fe3d5cb0faf16 HEAD is now at 5994546 Intra-node shared memory (SHM) optimizations for CPU primitives (#458) + git log --format=fuller commit 59945460a7a9fe451e85ef06237fe3d5cb0faf16 Author: gaopengff AuthorDate: Fri Jan 9 06:41:33 2026 +0800 Commit: GitHub CommitDate: Thu Jan 8 14:41:33 2026 -0800 Intra-node shared memory (SHM) optimizations for CPU primitives (#458) * add shm allreduce * add bf16 and half support * remove bf16 support * add bf16 support * use reduce function to do reduce job * refine format * fix accuracy issue * move intro-node check to allreduce() * remove debug code * use local_rank to check intra-node condition * add support for multi-thread and code for local reduction * move intra-node check to createAndConnectAllPairs * add check for gpu input and fix format issue * fix format issue * fix timeout ut * add fininalize method and fix ut * close all fds created by shm_open * use ftruncate to set shm buffer size * use session id to generate shm buffer name * retrigger CI * correct shm_buffer read write permission * use write when allocating tmp buffer + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.dO2NDh + 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 -m64 -march=x86-64-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 ' + 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 -m64 -march=x86-64-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 ' + 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 -m64 -march=x86-64-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 ' + 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 -m64 -march=x86-64-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 ' + 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 -m64 -march=x86-64-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -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 -m64 -march=x86-64-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -mf16c' -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.1", minimum required is "7.0") -- CUDA detected: 13.1 -- 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 (0.7s) -- 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 [ 2%] Building CXX object gloo/CMakeFiles/gloo.dir/allgatherv.cc.o [ 2%] Building CXX object gloo/CMakeFiles/gloo.dir/algorithm.cc.o [ 5%] Building CXX object gloo/CMakeFiles/gloo.dir/allgather.cc.o [ 5%] Building CXX object gloo/CMakeFiles/gloo.dir/allreduce.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); | ^~~~~~~~~~~~~~~ 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); | ^~~~~~~~~~~~~~~ /builddir/build/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/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:109:3: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 109 | 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:109:3: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 109 | 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:229:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 229 | 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:229:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 229 | 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:230:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 230 | 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:230:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 230 | GLOO_ENFORCE_GE(numSegments, context->size * 2); | ^~~~~~~~~~~~~~~ /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/allreduce.cc:293:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare] 293 | for (auto i = 0; i < (numSegments - numSegmentsPerRank + 2); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:321:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare] 321 | if (i < (numSegments - numSegmentsPerRank)) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:329:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 329 | if (i < numSegmentsPerRank) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:376:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare] 376 | for (auto i = 0; i < (numSegments - numSegmentsPerRank + 2); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:393:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare] 393 | if (i < (numSegments - numSegmentsPerRank)) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:401:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 401 | 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:414:3: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 414 | 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:414:3: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 414 | GLOO_ENFORCE_GT(n, 1); | ^~~~~~~~~~~~~~~ /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:541:15: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 541 | if (src == context->rank) { | ~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:554:15: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 554 | if (dst == context->rank) { | ~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:580:16: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 580 | if (peer == context->rank) { | ~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:597:15: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 597 | if (src == context->rank) { | ~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:627:15: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 627 | if (src == context->rank) { | ~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce.cc:647:15: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 647 | if (dst == 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/allreduce.cc:670:16: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 670 | 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/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/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:109: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:229: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:230: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 /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:35:11: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘struct gloo::float16’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] 35 | memcpy(ptrs_[i], ptrs_[0], bytes_); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo/gloo/math.h:12, from /builddir/build/BUILD/gloo/gloo/algorithm.h:14, from /builddir/build/BUILD/gloo/gloo/allreduce_local.h:11, from /builddir/build/BUILD/gloo/gloo/allreduce_local.cc:9: /builddir/build/BUILD/gloo/gloo/types.h:98:19: note: ‘struct gloo::float16’ declared here 98 | struct alignas(2) float16 { | ^~~~~~~ /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++) { | ~~^~~~~~~~~~~~~~ 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:516:16, inlined from ‘gloo::(anonymous namespace)::allreduce(gloo::detail::AllreduceOptionsImpl const&)’ at /builddir/build/BUILD/gloo/gloo/allreduce.cc:150:12: /builddir/build/BUILD/gloo/gloo/allreduce.cc:457:10: warning: ‘nextGroup’ may be used uninitialized [-Wmaybe-uninitialized] 457 | 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:512:20: note: ‘nextGroup’ declared here 512 | 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:516:16, inlined from ‘gloo::(anonymous namespace)::allreduce(gloo::detail::AllreduceOptionsImpl const&)’ at /builddir/build/BUILD/gloo/gloo/allreduce.cc:150:12: /builddir/build/BUILD/gloo/gloo/allreduce.cc:457:10: warning: ‘nextGroup.myChunkLength’ may be used uninitialized [-Wmaybe-uninitialized] 457 | 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:512:20: note: ‘nextGroup’ declared here 512 | struct group nextGroup; | ^~~~~~~~~ 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) { \ | ^~ [ 11%] Building CXX object gloo/CMakeFiles/gloo.dir/barrier.cc.o [ 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) { | ~~^~~~~~~~~~~~~~~ /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); | ^~~~~~~~~~~~~~~ [ 15%] Building CXX object gloo/CMakeFiles/gloo.dir/gather.cc.o [ 17%] Building CXX object gloo/CMakeFiles/gloo.dir/gatherv.cc.o [ 18%] Building CXX object gloo/CMakeFiles/gloo.dir/math.cc.o [ 20%] Building CXX object gloo/CMakeFiles/gloo.dir/reduce.cc.o /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) { | ~~^~~~~~~~~~~~~~~~ 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/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in 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) { \ | ^~ [ 21%] Building CXX object gloo/CMakeFiles/gloo.dir/scatter.cc.o [ 23%] Building CXX object gloo/CMakeFiles/gloo.dir/types.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) { | ~~~~~^~~~~~~~~~~~~~~~ /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) { \ | ^~ [ 24%] Building CXX object gloo/CMakeFiles/gloo.dir/allreduce_shm.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/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) { \ | ^~ [ 26%] Building CXX object gloo/CMakeFiles/gloo.dir/common/logging.cc.o /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc:159: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas] 159 | #pragma omp parallel for [ 27%] Building CXX object gloo/CMakeFiles/gloo.dir/common/utils.cc.o [ 28%] Building CXX object gloo/CMakeFiles/gloo.dir/common/linux.cc.o [ 30%] Building CXX object gloo/CMakeFiles/gloo.dir/rendezvous/context.cc.o [ 31%] Building CXX object gloo/CMakeFiles/gloo.dir/rendezvous/file_store.cc.o /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc: In function ‘void gloo::{anonymous}::shared_create(SharedData*, const char*, void*, size_t)’: /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc:64:16: warning: suggest parentheses around assignment used as truth value [-Wparentheses] 64 | if (nbytes = write(d, bytes, nbytes)) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc: In function ‘void gloo::{anonymous}::parallel_memcpy(void*, void*, size_t)’: /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc:160:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare] 160 | for (int i = 0; i < aligned_bytes; i += VECTOR_LENGTH_IN_BYTES) { | ~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc:166:33: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 166 | for (int i = aligned_bytes; i < n_bytes; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc: In function ‘void gloo::{anonymous}::distributed_naive_reduce(char*, int, size_t, size_t, const gloo::detail::AllreduceOptionsImpl&)’: /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc:272:27: warning: variable ‘copy_next’ set but not used [-Wunused-but-set-variable] 272 | CollState copy_current, copy_next, reduce_current; | ^~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc: In function ‘void gloo::shm(const detail::AllreduceOptionsImpl&)’: /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc:489:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 489 | for (int offset = 0; offset < data_size; | ~~~~~~~^~~~~~~~~~~ /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) { \ | ^~ In function ‘gloo::(anonymous namespace)::distributed_naive_reduce(char*, int, unsigned long, unsigned long, gloo::detail::AllreduceOptionsImpl const&)’, inlined from ‘gloo::shm(gloo::detail::AllreduceOptionsImpl const&)’ at /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc:500:31: /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc:297:40: warning: ‘copy_current’ may be used uninitialized [-Wmaybe-uninitialized] 297 | workspace[rank]->states[state_group] = copy_current; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc: In function ‘gloo::shm(gloo::detail::AllreduceOptionsImpl const&)’: /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc:272:13: note: ‘copy_current’ was declared here 272 | CollState copy_current, copy_next, reduce_current; | ^~~~~~~~~~~~ In function ‘gloo::(anonymous namespace)::distributed_naive_reduce(char*, int, unsigned long, unsigned long, gloo::detail::AllreduceOptionsImpl const&)’, inlined from ‘gloo::shm(gloo::detail::AllreduceOptionsImpl const&)’ at /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc:500:31: /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc:299:28: warning: ‘reduce_current’ may be used uninitialized [-Wmaybe-uninitialized] 299 | wait_buffer_state_until_2( | ~~~~~~~~~~~~~~~~~~~~~~~~~^ 300 | copy_current, reduce_current, state_group, opts.timeout, shm_data); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc: In function ‘gloo::shm(gloo::detail::AllreduceOptionsImpl const&)’: /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc:272:38: note: ‘reduce_current’ was declared here 272 | CollState copy_current, copy_next, reduce_current; | ^~~~~~~~~~~~~~ In function ‘gloo::(anonymous namespace)::distributed_naive_reduce(char*, int, unsigned long, unsigned long, gloo::detail::AllreduceOptionsImpl const&)’, inlined from ‘gloo::shm(gloo::detail::AllreduceOptionsImpl const&)’ at /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc:500:31: /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc:319:19: warning: ‘rank’ may be used uninitialized [-Wmaybe-uninitialized] 319 | int rank = (i + rank) % world_size; | ~~~^~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc: In function ‘gloo::shm(gloo::detail::AllreduceOptionsImpl const&)’: /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc:319:9: note: ‘rank’ was declared here 319 | int rank = (i + rank) % world_size; | ^~~~ In function ‘gloo::(anonymous namespace)::symmetric_naive_all_reduce(char*, int, unsigned long, unsigned long, gloo::detail::AllreduceOptionsImpl const&)’, inlined from ‘gloo::shm(gloo::detail::AllreduceOptionsImpl const&)’ at /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc:497:33: /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc:233:40: warning: ‘copy_current’ may be used uninitialized [-Wmaybe-uninitialized] 233 | workspace[rank]->states[state_group] = copy_current; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc: In function ‘gloo::shm(gloo::detail::AllreduceOptionsImpl const&)’: /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc:210:13: note: ‘copy_current’ was declared here 210 | CollState copy_current, copy_next; | ^~~~~~~~~~~~ In function ‘gloo::(anonymous namespace)::symmetric_naive_all_reduce(char*, int, unsigned long, unsigned long, gloo::detail::AllreduceOptionsImpl const&)’, inlined from ‘gloo::shm(gloo::detail::AllreduceOptionsImpl const&)’ at /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc:497:33: /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc:235:28: warning: ‘copy_next’ may be used uninitialized [-Wmaybe-uninitialized] 235 | wait_buffer_state_until_2( | ~~~~~~~~~~~~~~~~~~~~~~~~~^ 236 | copy_current, copy_next, state_group, opts.timeout, shm_data); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc: In function ‘gloo::shm(gloo::detail::AllreduceOptionsImpl const&)’: /builddir/build/BUILD/gloo/gloo/allreduce_shm.cc:210:27: note: ‘copy_next’ was declared here 210 | CollState copy_current, copy_next; | ^~~~~~~~~ [ 33%] Building CXX object gloo/CMakeFiles/gloo.dir/rendezvous/hash_store.cc.o [ 34%] Building CXX object gloo/CMakeFiles/gloo.dir/rendezvous/prefix_store.cc.o [ 36%] Building CXX object gloo/CMakeFiles/gloo.dir/rendezvous/store.cc.o [ 37%] Building CXX object gloo/CMakeFiles/gloo.dir/rendezvous/redis_store.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()); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ [ 39%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/address.cc.o [ 40%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/buffer.cc.o [ 42%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/context.cc.o [ 43%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/device.cc.o [ 44%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/pair.cc.o [ 46%] 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 [ 49%] 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 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)); | ^~~~~~~~~~~~~~~ [ 52%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/debug_logger.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/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:224:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 224 | 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 member function ‘std::vector gloo::transport::tcp::Context::getUnConnectedPeerRanks() const’: /builddir/build/BUILD/gloo/gloo/transport/tcp/context.cc:235:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 235 | 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:394:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 394 | 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:394:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 394 | 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:394: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) { \ | ^~ [ 53%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/device.cc.o [ 55%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/error.cc.o [ 56%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/helpers.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:151:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 151 | 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:151:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 151 | 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:186:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 186 | 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:186:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 186 | 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:311:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 311 | 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:311:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 311 | 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_)) { | ~~~^~~~~~~~~~~~ [ 57%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/listener.cc.o [ 59%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/loop.cc.o 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_)) { | ~~~^~~~~~~~~~~~ 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:47:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 47 | 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:47:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 47 | 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:69:7: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 69 | 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:69:7: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 69 | 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:90:7: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 90 | 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:90:7: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 90 | 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:104:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 104 | 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:104:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 104 | 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:161:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 161 | 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:161:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 161 | 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:173:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 173 | 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:173:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 173 | 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:210:5: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 210 | 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:210:5: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 210 | GLOO_ENFORCE_NE(nfds, -1); | ^~~~~~~~~~~~~~~ [ 60%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/pair.cc.o [ 62%] 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/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)); | ^~~~~~~~~~~~~~~ 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:664:3: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 664 | 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:664:3: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 664 | 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:789:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 789 | 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:789:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 789 | 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:856:5: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 856 | 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:856:5: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 856 | 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:858:5: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 858 | 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:858:5: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 858 | 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:910:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 910 | 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:910:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 910 | 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:944:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 944 | 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:944:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 944 | 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:974:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 974 | 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:974:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 974 | GLOO_ENFORCE_LE(nbytes, tbuf->size - offset); | ^~~~~~~~~~~~~~~ [ 65%] 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 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()); | ^~~~~~~~~~~~~~~ [ 68%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/ibverbs/context.cc.o [ 69%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/ibverbs/device.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/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_); | ^~~~~~~~~~~~~~~ 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:130:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 130 | 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:130:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 130 | 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:134:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 134 | 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:134:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 134 | 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:157:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 157 | 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:157:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 157 | 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:160:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 160 | 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:160:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 160 | 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:163:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 163 | 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:163:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 163 | 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:157:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 157 | 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:157:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 157 | 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:160:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 160 | 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:160:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 160 | 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:163:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 163 | 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:163:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 163 | 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:199:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 199 | 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:199:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 199 | 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:202:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 202 | 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:202:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 202 | 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:213:5: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 213 | 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:213:5: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 213 | 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:222:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 222 | 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:222:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 222 | GLOO_ENFORCE_EQ(rv, 0, "ibv_get_cq_event"); | ^~~~~~~~~~~~~~~ [ 71%] 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/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); | ^~~~~~~~~~~~~~~ [ 73%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/ibverbs/remote_key.cc.o [ 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"); | ^~~~~~~~~~~~~~~ [ 78%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/uv/device.cc.o /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) { \ | ^~ 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) { | ^ /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:64:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 64 | 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:121:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 121 | 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:121:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 121 | 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:173:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 173 | 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:173:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 173 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ [ 79%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/uv/context.cc.o [ 81%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/uv/libuv.cc.o [ 82%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/uv/pair.cc.o [ 84%] 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( | ^~~~~~~~~~~~~~~ [ 85%] Linking CXX shared library libgloo.so [ 85%] Built target gloo [ 86%] 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/gloo_cuda_generated_cuda_private.cu.o [ 89%] Building NVCC (Device) object gloo/CMakeFiles/gloo_cuda.dir/nccl/gloo_cuda_generated_nccl.cu.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_halving_doubling.cc.o [ 95%] Building CXX object gloo/CMakeFiles/gloo_cuda.dir/cuda_allreduce_local.cc.o [ 95%] Building CXX object gloo/CMakeFiles/gloo_cuda.dir/cuda_allreduce_bcube.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_)); | ^~~~~~~~~~ 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 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 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)); | ^~~~~~~~~~ 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 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/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 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/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()); | ^~~~~~~~~~~~~~~ /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/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_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/common/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 = 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 = 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_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/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/common/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/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: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 = 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_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 = 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_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 = 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/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 = 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_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_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_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_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_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_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_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::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/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_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/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_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_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/common/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 = 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_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_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 = 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_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()); | ^~~~~~~~~~~~~~~ /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 = 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_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/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 ‘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_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::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_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_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/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/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/common/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 ‘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_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/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 = 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_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: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 ‘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) { | ~~~~~^~~~~~~~ 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_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: 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_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_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: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 ‘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_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/common/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::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_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/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 = 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_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_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 ‘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_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_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: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::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::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/common/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::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 = 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_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_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_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_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_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 ‘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_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 ‘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_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: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_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::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_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/common/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::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::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::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: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_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: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_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_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) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ 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_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/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: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_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_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_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_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 = 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_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: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 ‘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_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_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/common/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 = 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_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/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: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_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::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_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_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_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::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/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_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/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: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 ‘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_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: 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/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/common/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: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 = 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: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_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/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/common/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_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::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::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_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 = 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_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_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_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/common/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: 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_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::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/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/common/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(), (& 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::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: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_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_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 = 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: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/common/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: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: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::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_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: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 ‘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_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_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_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_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::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/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_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_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: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_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: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/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::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_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_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/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/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: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: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 = 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_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.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/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_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_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.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.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/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 = 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_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/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 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.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/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: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_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::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.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/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_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::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_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.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: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.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/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: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 ‘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.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_); | ^~~~~~~~~~~~~~~ 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_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.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/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.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/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/common/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 = 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/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/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/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_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/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: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_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/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_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 = 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++) { | ~~^~~ /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: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_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()); | ^~~~~~~~~~~~~~~ /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: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/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_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_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_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_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_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_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::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_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++) { | ~~^~~~~~~~~~~~~~~~~~~~ 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/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: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 = 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/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/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/common/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: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_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/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::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/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/common/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::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_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_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_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_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_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 = 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_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_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_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/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_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: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_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_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_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::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/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_) { 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_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/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: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 = 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_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/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/common/logging.h: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 = 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_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 = 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_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::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/common/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 = 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_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: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 = 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_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_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_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_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::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/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/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/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 = 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/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_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/common/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::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_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_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_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_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 = 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()); | ^~~~~~~~~~~~~~~ /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_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/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 = 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_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_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_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_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_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/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: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: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: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 = 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_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/common/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 = 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_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/common/logging.h: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.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/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 = 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_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_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/common/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 = 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.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_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::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/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_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 ‘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/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_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/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_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_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_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/common/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 = 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_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_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::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.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 = 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/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_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/common/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.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/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::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()); | ^~~~~~~~~~~~~~~ /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::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/common/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 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()); | ^~~~~~~~~~~~~~~ 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_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.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/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/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_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/common/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 = 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_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::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/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/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/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::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_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/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/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/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/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 = 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_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_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/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/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::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_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/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( | ^~~~~~~~~~~~~~~ /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: 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/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/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/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 ‘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::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/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_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/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/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_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/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/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/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/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/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 = 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/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 ‘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/common/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_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_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/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_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 = 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_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_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/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_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_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_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/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/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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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_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/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 ‘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_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_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_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::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/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_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_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_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_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_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/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::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/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_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_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_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_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_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/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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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_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_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_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_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/common/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: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_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_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 = 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/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 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/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/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/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: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/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 = 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_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/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/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/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/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/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/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()); | ^~~~~~~~~~~~~~~ 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++) { | ~~^~~~~~~~~~~~~~~~~~~~ /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()); | ^~~~~~~~~~~~~~~ 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"); | ^~~~~~~~~~~~~~~ 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/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/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: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: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 = 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_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()); | ^~~~~~~~~~~~~~~ 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/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/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()); | ^~~~~~~~~~~~~~~ /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/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 ‘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_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_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/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/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/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::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_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_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_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::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 ‘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/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/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_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/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/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/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 = 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/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/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/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: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 = 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_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/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 = 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/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: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: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_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_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_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/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_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_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 = 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_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_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::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_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.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/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/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 = 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.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 = 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/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_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/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_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/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/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_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/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/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/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++) { | ~~^~~~~~~~~~~~~ /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/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/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_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/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/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 = 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 = 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/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( | ^~~~~~~~~~~~~~~ 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:340:19: warning: ‘temp’ is used uninitialized [-Wuninitialized] 340 | return *(float*)rp; | ^~ /builddir/build/BUILD/gloo/gloo/types.h:337:12: note: ‘temp’ declared here 337 | unsigned temp = ((sign << 31) | (exponent << 23) | mantissa); | ^~~~ 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::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 = 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 = 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( | ^~~~~~~~~~~~~~~ /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/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 = 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/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( | ^~~~~~~~~~~~~~~ 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/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/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/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_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/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 = 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/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_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/common/logging.h: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/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: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 = 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 = 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 = 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 = 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 = 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/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/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/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/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/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++) { | ~~^~~~~~~~~~~~~~~~~~~~ /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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/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/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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/common/logging.h: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::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = long int]’: /usr/include/c++/14/bits/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/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/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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/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/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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/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/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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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: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: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: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 ‘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/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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/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/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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/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/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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/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/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/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/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in 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_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/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 = 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/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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/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_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/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/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/common/logging.h:183:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 183 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo/gloo/common/logging.h:198:3: note: in 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::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 = gloo::float16]’: /usr/include/c++/14/bits/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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_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_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_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_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/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_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 = 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/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/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 = 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/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::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 = 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 = 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::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = signed char]’: /usr/include/c++/14/bits/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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::NCCLElement::NCCLElement(gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&) [with T = long unsigned int]’: /usr/include/c++/14/bits/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/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: /builddir/build/BUILD/gloo/gloo/types.h: In function ‘gloo::cpu_half2float(gloo::float16)’: /builddir/build/BUILD/gloo/gloo/types.h:340:19: warning: ‘temp’ is used uninitialized [-Wuninitialized] 340 | return *(float*)rp; | ^~ /builddir/build/BUILD/gloo/gloo/types.h:337:12: note: ‘temp’ declared here 337 | unsigned temp = ((sign << 31) | (exponent << 23) | mantissa); | ^~~~ 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:340:19: warning: ‘temp’ is used uninitialized [-Wuninitialized] 340 | return *(float*)rp; | ^~ /builddir/build/BUILD/gloo/gloo/types.h:337:12: note: ‘temp’ declared here 337 | 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:340:19: warning: ‘temp’ is used uninitialized [-Wuninitialized] 340 | return *(float*)rp; | ^~ /builddir/build/BUILD/gloo/gloo/types.h:337:12: note: ‘temp’ declared here 337 | 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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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:340:19: warning: ‘temp’ is used uninitialized [-Wuninitialized] 340 | return *(float*)rp; | ^~ /builddir/build/BUILD/gloo/gloo/types.h:337:12: note: ‘temp’ declared here 337 | 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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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/new_allocator.h:191:4: required from ‘void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gloo::nccl::NCCLElement; _Args = {gloo::CudaDevicePointer, gloo::CudaStream&, gloo::CudaDevicePointer, gloo::CudaStream&}; _Tp = gloo::nccl::NCCLElement]’ 191 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/alloc_traits.h:575:17: required from ‘static 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 >]’ 575 | __a.construct(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/vector.tcc:117:30: required from ‘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.BkWO64 + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64 '!=' / ']' + rm -rf /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64 ++ dirname /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64 + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64 + 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 -m64 -march=x86-64-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 ' + 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 -m64 -march=x86-64-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 ' + 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 -m64 -march=x86-64-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64-v3 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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-20260108.0.git59945460.cu13_1.el10.x86_64 + pushd build ~/build/BUILD/gloo/build ~/build/BUILD/gloo + make install DESTDIR=/builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64 -- Gloo build as SHARED library -- CUDA detected: 13.1 -- 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-20260108.0.git59945460.cu13_1.el10.x86_64/usr/lib64/libgloo.so.1.0 -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/lib64/libgloo.so.1 -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/lib64/libgloo.so -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/lib64/libgloo_cuda.so.1.0 -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/lib64/libgloo_cuda.so.1 -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/lib64/libgloo_cuda.so -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/config.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/algorithm.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/allgather.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/allgather_ring.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/allgatherv.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/allreduce.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/allreduce_bcube.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/allreduce_halving_doubling.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/allreduce_local.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/allreduce_ring.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/allreduce_ring_chunked.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/alltoall.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/alltoallv.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/barrier.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/barrier_all_to_all.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/barrier_all_to_one.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/broadcast.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/broadcast_one_to_all.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/context.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/gather.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/math.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/pairwise_exchange.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/reduce.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/reduce_scatter.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/scatter.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/types.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/allreduce_shm.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/common/aligned_allocator.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/common/common.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/common/error.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/common/logging.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/common/store.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/common/string.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/common/utils.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/common/linux.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/common/linux_devices.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/rendezvous/file_store.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/rendezvous/hash_store.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/rendezvous/prefix_store.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/rendezvous/store.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/rendezvous/context.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/rendezvous/redis_store.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/address.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/buffer.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/context.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/device.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/pair.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/remote_key.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/unbound_buffer.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/tcp/address.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/tcp/attr.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/tcp/buffer.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/tcp/context.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/tcp/debug_data.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/tcp/debug_logger.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/tcp/device.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/tcp/error.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/tcp/helpers.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/tcp/listener.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/tcp/loop.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/tcp/pair.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/tcp/socket.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/tcp/unbound_buffer.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/ibverbs/address.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/ibverbs/buffer.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/ibverbs/context.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/ibverbs/device.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/ibverbs/memory_region.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/ibverbs/pair.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/ibverbs/remote_key.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/ibverbs/unbound_buffer.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/uv/address.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/uv/device.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/uv/context.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/uv/libuv.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/uv/pair.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/transport/uv/unbound_buffer.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/cuda.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/cuda_allreduce_bcube.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/cuda_allreduce_halving_doubling.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/cuda_allreduce_halving_doubling_pipelined.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/cuda_allreduce_local.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/cuda_allreduce_ring.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/cuda_allreduce_ring_chunked.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/cuda_broadcast_one_to_all.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/cuda_collectives_device.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/cuda_collectives_host.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/cuda_collectives_native.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/cuda_collectives_nccl.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/cuda_private.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/cuda_workspace.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/include/gloo/nccl/nccl.h -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/share/cmake/Gloo/GlooConfig.cmake -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/share/cmake/Gloo/GlooConfigVersion.cmake -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/share/cmake/Gloo/GlooTargets.cmake -- Installing: /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/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-20260108.0.git59945460.cu13_1.el10 --unique-debug-suffix -0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64 --unique-debug-src-base gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 -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-20260108.0.git59945460.cu13_1.el10.x86_64 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-20260108.0.git59945460.cu13_1.el10.x86_64 Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.nQZwvu + umask 022 + cd /builddir/build/BUILD + cd gloo + DOCDIR=/builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/share/doc/gloo + export LC_ALL= + LC_ALL= + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/share/doc/gloo + cp -pr /builddir/build/BUILD/gloo/README.md /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/share/doc/gloo + RPM_EC=0 ++ jobs -p + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.SsSO08 + umask 022 + cd /builddir/build/BUILD + cd gloo + LICENSEDIR=/builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/share/licenses/gloo + export LC_ALL= + LC_ALL= + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/share/licenses/gloo + cp -pr /builddir/build/BUILD/gloo/LICENSE /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/share/licenses/gloo + RPM_EC=0 ++ jobs -p + exit 0 Provides: gloo = 1:0.5.0-20260108.0.git59945460.cu13_1.el10 gloo(x86-64) = 1:0.5.0-20260108.0.git59945460.cu13_1.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-x86-64.so.2()(64bit) ld-linux-x86-64.so.2(GLIBC_2.3)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.17)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.3.2)(64bit) libc.so.6(GLIBC_2.3.3)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.32)(64bit) libc.so.6(GLIBC_2.34)(64bit) libc.so.6(GLIBC_2.4)(64bit) libc.so.6(GLIBC_2.9)(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-20260108.0.git59945460.cu13_1.el10.x86_64 Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.xjOhl4 + umask 022 + cd /builddir/build/BUILD + cd gloo + DOCDIR=/builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/share/doc/gloo-devel + export LC_ALL= + LC_ALL= + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/share/doc/gloo-devel + cp -pr /builddir/build/BUILD/gloo/README.md /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/share/doc/gloo-devel + RPM_EC=0 ++ jobs -p + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.xuDUEB + umask 022 + cd /builddir/build/BUILD + cd gloo + LICENSEDIR=/builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/share/licenses/gloo-devel + export LC_ALL= + LC_ALL= + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/usr/share/licenses/gloo-devel + cp -pr /builddir/build/BUILD/gloo/LICENSE /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64/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-20260108.0.git59945460.cu13_1.el10 gloo-devel(x86-64) = 1:0.5.0-20260108.0.git59945460.cu13_1.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-20260108.0.git59945460.cu13_1.el10.x86_64 Provides: gloo-debugsource = 1:0.5.0-20260108.0.git59945460.cu13_1.el10 gloo-debugsource(x86-64) = 1:0.5.0-20260108.0.git59945460.cu13_1.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-20260108.0.git59945460.cu13_1.el10.x86_64 Provides: debuginfo(build-id) = 9cae1e43813115ec43eeebf480b902c0d241750c debuginfo(build-id) = b000cdca7eb2eccc61df59dd283c31aac94ab1d1 gloo-debuginfo = 1:0.5.0-20260108.0.git59945460.cu13_1.el10 gloo-debuginfo(x86-64) = 1:0.5.0-20260108.0.git59945460.cu13_1.el10 libgloo.so.1.0-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64.debug()(64bit) libgloo_cuda.so.1.0-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64.debug()(64bit) Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Recommends: gloo-debugsource(x86-64) = 1:0.5.0-20260108.0.git59945460.cu13_1.el10 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64 Wrote: /builddir/build/RPMS/gloo-devel-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64.rpm Wrote: /builddir/build/RPMS/gloo-debugsource-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64.rpm Wrote: /builddir/build/RPMS/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64.rpm Wrote: /builddir/build/RPMS/gloo-debuginfo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.WFxAsa + umask 022 + cd /builddir/build/BUILD + cd gloo + /usr/bin/rm -rf /builddir/build/BUILDROOT/gloo-0.5.0-20260108.0.git59945460.cu13_1.el10.x86_64 + RPM_EC=0 ++ jobs -p + exit 0 Executing(rmbuild): /bin/sh -e /var/tmp/rpm-tmp.5tSubi + 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-20260108.0.git59945460.cu13_1.el10.src.rpm Finish: build phase for gloo-0.5.0-20260108.0.git59945460.cu13_1.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-x86_64-1767922043.759345/root/var/log/dnf.rpm.log /var/lib/mock/centos-stream+epel-10-x86_64-1767922043.759345/root/var/log/dnf.librepo.log /var/lib/mock/centos-stream+epel-10-x86_64-1767922043.759345/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-20260108.0.git59945460.cu13_1.el10.src.rpm) Config(child) 2 minutes 35 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-devel", "epoch": 1, "version": "0.5.0", "release": "20260108.0.git59945460.cu13_1.el10", "arch": "x86_64" }, { "name": "gloo-debuginfo", "epoch": 1, "version": "0.5.0", "release": "20260108.0.git59945460.cu13_1.el10", "arch": "x86_64" }, { "name": "gloo", "epoch": 1, "version": "0.5.0", "release": "20260108.0.git59945460.cu13_1.el10", "arch": "x86_64" }, { "name": "gloo", "epoch": 1, "version": "0.5.0", "release": "20260108.0.git59945460.cu13_1.el10", "arch": "src" }, { "name": "gloo-debugsource", "epoch": 1, "version": "0.5.0", "release": "20260108.0.git59945460.cu13_1.el10", "arch": "x86_64" } ] } RPMResults finished