Warning: Permanently added '18.212.194.104' (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/7673434-fedora-rawhide-aarch64 --chroot fedora-rawhide-aarch64 Version: 0.73 PID: 6744 Logging PID: 6745 Task: {'allow_user_ssh': False, 'appstream': False, 'background': False, 'build_id': 7673434, 'buildroot_pkgs': [], 'chroot': 'fedora-rawhide-aarch64', 'enable_net': True, 'fedora_review': False, 'git_hash': 'cb8091389fb1e572045830161c5af1622f687974', '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-20240626.0.git81925d1c.cu12_4', 'project_dirname': 'ML', 'project_name': 'ML', 'project_owner': 'rezso', 'repo_priority': None, 'repos': [{'baseurl': 'https://download.copr.fedorainfracloud.org/results/rezso/ML/fedora-rawhide-aarch64/', 'id': 'copr_base', 'name': 'Copr repository', 'priority': None}, {'baseurl': 'https://download.copr.fedorainfracloud.org/results/rezso/CUDA/fedora-rawhide-aarch64/', 'id': 'copr_rezso_CUDA', 'name': 'Additional repo copr_rezso_CUDA'}, {'baseurl': 'http://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64', 'id': 'http_developer_download_nvidia_com_compute_cuda_repos_rhel8_x86_64', 'name': 'Additional repo http_developer_download_nvidia_com_compute_cuda_repos_rhel8_x86_64'}, {'baseurl': 'http://developer.download.nvidia.com/compute/cuda/repos/rhel8/sbsa', 'id': 'http_developer_download_nvidia_com_compute_cuda_repos_rhel8_sbsa', 'name': 'Additional repo http_developer_download_nvidia_com_compute_cuda_repos_rhel8_sbsa'}, {'baseurl': 'http://developer.download.nvidia.com/compute/cuda/repos/rhel8/ppc64le', 'id': 'http_developer_download_nvidia_com_compute_cuda_repos_rhel8_ppc64le', 'name': 'Additional repo http_developer_download_nvidia_com_compute_cuda_repos_rhel8_ppc64le'}], 'sandbox': 'rezso/ML--rezso', 'source_json': {}, 'source_type': None, 'ssh_public_keys': None, 'submitter': 'rezso', 'tags': [], 'task_id': '7673434-fedora-rawhide-aarch64', 'timeout': 172800, 'uses_devel_repo': False, 'with_opts': [], 'without_opts': []} Running: git clone https://copr-dist-git.fedorainfracloud.org/git/rezso/ML/gloo /var/lib/copr-rpmbuild/workspace/workdir-to8tp07_/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-to8tp07_/gloo', '--depth', '500', '--no-single-branch', '--recursive'] cwd: . rc: 0 stdout: stderr: Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-to8tp07_/gloo'... Running: git checkout cb8091389fb1e572045830161c5af1622f687974 -- cmd: ['git', 'checkout', 'cb8091389fb1e572045830161c5af1622f687974', '--'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-to8tp07_/gloo rc: 0 stdout: stderr: Note: switching to 'cb8091389fb1e572045830161c5af1622f687974'. 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 cb80913 automatic import of gloo Running: copr-distgit-client sources cmd: ['copr-distgit-client', 'sources'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-to8tp07_/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 /usr/bin/tail: /var/lib/copr-rpmbuild/main.log: file truncated Running (timeout=172800): unbuffer mock --spec /var/lib/copr-rpmbuild/workspace/workdir-to8tp07_/gloo/gloo.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-to8tp07_/gloo --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1719450592.522561 -r /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: mock.py version 5.6 starting (python version = 3.12.1, NVR = mock-5.6-1.fc39), args: /usr/libexec/mock/mock --spec /var/lib/copr-rpmbuild/workspace/workdir-to8tp07_/gloo/gloo.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-to8tp07_/gloo --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1719450592.522561 -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-to8tp07_/gloo/gloo.spec) Config(fedora-rawhide-aarch64) Start: clean chroot Finish: clean chroot Mock Version: 5.6 INFO: Mock Version: 5.6 Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-aarch64-bootstrap-1719450592.522561/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 bootstrap image: registry.fedoraproject.org/fedora:rawhide INFO: Pulling image: registry.fedoraproject.org/fedora:rawhide INFO: Copy content of container registry.fedoraproject.org/fedora:rawhide to /var/lib/mock/fedora-rawhide-aarch64-bootstrap-1719450592.522561/root INFO: Checking that registry.fedoraproject.org/fedora:rawhide image matches host's architecture INFO: mounting registry.fedoraproject.org/fedora:rawhide with podman image mount INFO: image registry.fedoraproject.org/fedora:rawhide as /var/lib/containers/storage/overlay/add0dd81290a6c927b8d5293c0654586c01e11ed120a7f291013f0afdcfcabb2/merged INFO: umounting image registry.fedoraproject.org/fedora:rawhide (/var/lib/containers/storage/overlay/add0dd81290a6c927b8d5293c0654586c01e11ed120a7f291013f0afdcfcabb2/merged) with podman image umount INFO: Package manager dnf5 detected and used (fallback) INFO: Bootstrap image not marked ready Start(bootstrap): installing dnf5 tooling Updating and loading repositories: Additional repo copr_rezso_CUDA 100% | 1.0 MiB/s | 43.6 KiB | 00m00s Additional repo http_developer_downloa 100% | 54.7 MiB/s | 784.1 KiB | 00m00s fedora 100% | 33.6 MiB/s | 20.0 MiB | 00m01s Copr repository 100% | 5.3 MiB/s | 169.0 KiB | 00m00s Additional repo http_developer_downloa 100% | 37.1 MiB/s | 494.0 KiB | 00m00s Additional repo http_developer_downloa 100% | 19.1 MiB/s | 449.9 KiB | 00m00s Repositories loaded. Package "dnf5-5.2.3.0-3.fc41.aarch64" is already installed. Package Arch Version Repository Size Installing: dnf5-plugins aarch64 5.2.3.0-3.fc41 fedora 1.5 MiB Installing dependencies: elfutils-default-yama-scope noarch 0.191-7.fc41 fedora 1.8 KiB elfutils-libelf aarch64 0.191-7.fc41 fedora 1.3 MiB elfutils-libs aarch64 0.191-7.fc41 fedora 1.0 MiB file-libs aarch64 5.45-6.fc41 fedora 10.0 MiB libgomp aarch64 14.1.1-6.fc41 fedora 567.1 KiB rpm-build-libs aarch64 4.19.92-1.fc41 fedora 262.7 KiB Transaction Summary: Installing: 7 packages Total size of inbound packages is 2 MiB. Need to download 2 MiB. After this operation 15 MiB will be used (install 15 MiB, remove 0 B). [1/7] rpm-build-libs-0:4.19.92-1.fc41.a 100% | 6.2 MiB/s | 95.8 KiB | 00m00s [2/7] dnf5-plugins-0:5.2.3.0-3.fc41.aar 100% | 21.0 MiB/s | 343.6 KiB | 00m00s [3/7] elfutils-libelf-0:0.191-7.fc41.aa 100% | 11.3 MiB/s | 208.9 KiB | 00m00s [4/7] elfutils-libs-0:0.191-7.fc41.aarc 100% | 64.4 MiB/s | 263.8 KiB | 00m00s [5/7] libgomp-0:14.1.1-6.fc41.aarch64 100% | 83.3 MiB/s | 341.0 KiB | 00m00s [6/7] elfutils-default-yama-scope-0:0.1 100% | 4.3 MiB/s | 13.3 KiB | 00m00s [7/7] file-libs-0:5.45-6.fc41.aarch64 100% | 16.2 MiB/s | 762.4 KiB | 00m00s -------------------------------------------------------------------------------- [7/7] Total 100% | 7.2 MiB/s | 2.0 MiB | 00m00s Running transaction [1/9] Verify package files 100% | 700.0 B/s | 7.0 B | 00m00s [2/9] Prepare transaction 100% | 583.0 B/s | 7.0 B | 00m00s [3/9] Installing elfutils-libelf-0:0.19 100% | 262.8 MiB/s | 1.3 MiB | 00m00s [4/9] Installing elfutils-default-yama- 100% | 291.9 KiB/s | 2.0 KiB | 00m00s >>> Running post-install scriptlet: elfutils-default-yama-scope-0:0.191-7.fc41.n >>> Stop post-install scriptlet: elfutils-default-yama-scope-0:0.191-7.fc41.noar [5/9] Installing elfutils-libs-0:0.191- 100% | 245.1 MiB/s | 1.0 MiB | 00m00s [6/9] Installing libgomp-0:14.1.1-6.fc4 100% | 185.1 MiB/s | 568.5 KiB | 00m00s [7/9] Installing file-libs-0:5.45-6.fc4 100% | 501.2 MiB/s | 10.0 MiB | 00m00s [8/9] Installing rpm-build-libs-0:4.19. 100% | 128.7 MiB/s | 263.6 KiB | 00m00s warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead [9/9] Installing dnf5-plugins-0:5.2.3.0 100% | 53.3 MiB/s | 1.5 MiB | 00m00s >>> Running trigger-install scriptlet: glibc-common-0:2.39.9000-26.fc41.aarch64 >>> Stop trigger-install scriptlet: glibc-common-0:2.39.9000-26.fc41.aarch64 Finish(bootstrap): installing dnf5 tooling Start(bootstrap): creating root cache Finish(bootstrap): creating root cache Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-aarch64-1719450592.522561/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 dnf5 detected and used (direct choice) INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-4.19.92-1.fc41.aarch64 rpm-sequoia-1.6.0-3.fc41.aarch64 dnf5-5.2.3.0-3.fc41.aarch64 dnf5-plugins-5.2.3.0-3.fc41.aarch64 Start: installing minimal buildroot with dnf5 Updating and loading repositories: fedora 100% | 32.6 MiB/s | 20.4 MiB | 00m01s Copr repository 100% | 5.9 MiB/s | 169.0 KiB | 00m00s Additional repo copr_rezso_CUDA 100% | 1.6 MiB/s | 43.6 KiB | 00m00s Additional repo http_developer_downloa 100% | 69.1 MiB/s | 848.9 KiB | 00m00s Additional repo http_developer_downloa 100% | 67.8 MiB/s | 625.3 KiB | 00m00s Additional repo http_developer_downloa 100% | 47.1 MiB/s | 482.8 KiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing group/module packages: bash aarch64 5.2.26-3.fc40 fedora 8.3 MiB bzip2 aarch64 1.0.8-18.fc40 fedora 427.5 KiB coreutils aarch64 9.5-2.fc41 fedora 20.8 MiB cpio aarch64 2.15-1.fc40 fedora 1.2 MiB diffutils aarch64 3.10-5.fc40 fedora 2.1 MiB fedora-release-common noarch 41-0.14 fedora 19.2 KiB findutils aarch64 1:4.10.0-2.fc41 fedora 2.1 MiB gawk aarch64 5.3.0-3.fc40 fedora 4.2 MiB glibc-minimal-langpack aarch64 2.39.9999-99.fc41 copr_base 0.0 B grep aarch64 3.11-8.fc41 fedora 1.1 MiB gzip aarch64 1.13-1.fc40 fedora 488.8 KiB info aarch64 7.1-2.fc40 fedora 613.5 KiB patch aarch64 2.7.6-24.fc40 fedora 390.5 KiB redhat-rpm-config noarch 293-1.fc41 fedora 183.5 KiB rpm-build aarch64 4.19.92-1.fc41 fedora 1.4 MiB sed aarch64 4.9-1.fc40 fedora 1.0 MiB shadow-utils aarch64 2:4.15.1-5.fc41 fedora 7.3 MiB tar aarch64 2:1.35-3.fc40 fedora 3.1 MiB unzip aarch64 6.0-63.fc40 fedora 726.4 KiB util-linux aarch64 2.40.1-2.fc41 fedora 17.5 MiB which aarch64 2.21-41.fc40 fedora 248.1 KiB xz aarch64 1:5.6.2-1.fc41 fedora 1.5 MiB Installing dependencies: add-determinism aarch64 0.3.1-1.fc41 fedora 1.9 MiB alternatives aarch64 1.28-1.fc41 fedora 218.3 KiB ansible-srpm-macros noarch 1-15.fc41 fedora 35.7 KiB audit-libs aarch64 4.0.1-3.fc41 fedora 547.2 KiB authselect aarch64 1.5.0-5.fc41 fedora 309.4 KiB authselect-libs aarch64 1.5.0-5.fc41 fedora 931.8 KiB basesystem noarch 11-20.fc40 fedora 0.0 B binutils aarch64 2.42.50-14.fc41 fedora 33.1 MiB build-reproducibility-srpm-macros noarch 0.3.1-1.fc41 fedora 735.0 B bzip2-libs aarch64 1.0.8-18.fc40 fedora 200.7 KiB ca-certificates noarch 2024.2.68_v8.0.302-2.fc41 fedora 2.3 MiB coreutils-common aarch64 9.5-2.fc41 fedora 11.2 MiB cracklib aarch64 2.9.11-5.fc40 fedora 934.6 KiB crypto-policies noarch 20240521-1.gitf71d135.fc41 fedora 120.0 KiB curl aarch64 8.8.0-1.fc41 fedora 871.7 KiB cyrus-sasl-lib aarch64 2.1.28-24.fc41 fedora 3.1 MiB debugedit aarch64 5.0-16.fc41 fedora 499.0 KiB dwz aarch64 0.15-6.fc40 fedora 386.7 KiB ed aarch64 1.20.2-1.fc41 fedora 282.7 KiB efi-srpm-macros noarch 5-11.fc40 fedora 40.1 KiB elfutils aarch64 0.191-7.fc41 fedora 5.0 MiB elfutils-debuginfod-client aarch64 0.191-7.fc41 fedora 396.7 KiB elfutils-default-yama-scope noarch 0.191-7.fc41 fedora 1.8 KiB elfutils-libelf aarch64 0.191-7.fc41 fedora 1.3 MiB elfutils-libs aarch64 0.191-7.fc41 fedora 1.0 MiB fedora-gpg-keys noarch 41-0.2 fedora 124.7 KiB fedora-release noarch 41-0.14 fedora 0.0 B fedora-release-identity-basic noarch 41-0.14 fedora 694.0 B fedora-repos noarch 41-0.2 fedora 4.9 KiB fedora-repos-rawhide noarch 41-0.2 fedora 2.2 KiB file aarch64 5.45-6.fc41 fedora 267.4 KiB file-libs aarch64 5.45-6.fc41 fedora 10.0 MiB filesystem aarch64 3.18-9.fc41 fedora 106.0 B fonts-srpm-macros noarch 1:2.0.5-16.fc41 fedora 55.8 KiB forge-srpm-macros noarch 0.3.1-1.fc41 fedora 39.0 KiB fpc-srpm-macros noarch 1.3-12.fc40 fedora 144.0 B gdb-minimal aarch64 14.2-12.fc41 fedora 11.5 MiB gdbm aarch64 1:1.23-6.fc40 fedora 928.2 KiB gdbm-libs aarch64 1:1.23-6.fc40 fedora 425.8 KiB ghc-srpm-macros noarch 1.9.1-1.fc41 fedora 747.0 B glibc aarch64 2.39.9999-99.fc41 copr_base 9.7 MiB glibc-common aarch64 2.39.9999-99.fc41 copr_base 2.6 MiB glibc-gconv-extra aarch64 2.39.9999-99.fc41 copr_base 49.0 MiB gmp aarch64 1:6.3.0-1.fc41 fedora 721.9 KiB gnat-srpm-macros noarch 6-5.fc40 fedora 1.0 KiB go-srpm-macros noarch 3.6.0-1.fc41 fedora 60.8 KiB jansson aarch64 2.13.1-9.fc40 fedora 220.4 KiB kernel-srpm-macros noarch 1.0-23.fc41 fedora 1.9 KiB keyutils-libs aarch64 1.6.3-3.fc40 fedora 226.3 KiB krb5-libs aarch64 1.21.2-5.fc40 fedora 3.4 MiB libacl aarch64 2.3.2-1.fc40 fedora 196.0 KiB libarchive aarch64 3.7.4-1.fc41 fedora 1.0 MiB libattr aarch64 2.5.2-3.fc40 fedora 196.5 KiB libblkid aarch64 2.40.1-2.fc41 fedora 418.5 KiB libbrotli aarch64 1.1.0-4.fc41 fedora 1.1 MiB libcap aarch64 2.70-1.fc41 fedora 1.4 MiB libcap-ng aarch64 0.8.5-2.fc41 fedora 417.0 KiB libcom_err aarch64 1.47.0-5.fc40 fedora 239.2 KiB libcurl aarch64 8.8.0-1.fc41 fedora 921.5 KiB libeconf aarch64 0.6.2-2.fc41 fedora 206.0 KiB libevent aarch64 2.1.12-13.fc41 fedora 1.5 MiB libfdisk aarch64 2.40.1-2.fc41 fedora 482.8 KiB libffi aarch64 3.4.6-1.fc41 fedora 282.3 KiB libgcc aarch64 14.1.1-6.fc41 fedora 350.2 KiB libgomp aarch64 14.1.1-6.fc41 fedora 567.1 KiB libidn2 aarch64 2.3.7-1.fc40 fedora 457.1 KiB libmount aarch64 2.40.1-2.fc41 fedora 483.8 KiB libnghttp2 aarch64 1.62.1-1.fc41 fedora 262.2 KiB libnsl2 aarch64 2.0.1-1.fc40 fedora 221.9 KiB libpkgconf aarch64 2.1.1-1.fc41 fedora 198.0 KiB libpsl aarch64 0.21.5-3.fc40 fedora 196.5 KiB libpwquality aarch64 1.4.5-10.fc41 fedora 1.1 MiB libselinux aarch64 3.6-6.fc41 fedora 265.0 KiB libsemanage aarch64 3.6-4.fc41 fedora 361.4 KiB libsepol aarch64 3.6-3.fc40 fedora 874.0 KiB libsmartcols aarch64 2.40.1-2.fc41 fedora 288.4 KiB libssh aarch64 0.10.6-6.fc41 fedora 581.2 KiB libssh-config noarch 0.10.6-6.fc41 fedora 277.0 B libstdc++ aarch64 14.1.1-6.fc41 fedora 3.0 MiB libtasn1 aarch64 4.19.0-6.fc40 fedora 283.7 KiB libtirpc aarch64 1.3.4-1.rc3.fc41 fedora 274.6 KiB libtool-ltdl aarch64 2.4.7-11.fc41 fedora 222.1 KiB libunistring aarch64 1.1-7.fc41 fedora 1.9 MiB libutempter aarch64 1.2.1-13.fc40 fedora 417.6 KiB libuuid aarch64 2.40.1-2.fc41 fedora 197.4 KiB libverto aarch64 0.3.2-8.fc40 fedora 197.4 KiB libxcrypt aarch64 4.4.36-5.fc40 fedora 398.9 KiB libxml2 aarch64 2.12.8-1.fc41 fedora 2.1 MiB libzstd aarch64 1.5.6-1.fc41 fedora 795.9 KiB lua-libs aarch64 5.4.6-5.fc40 fedora 393.0 KiB lua-srpm-macros noarch 1-13.fc40 fedora 1.3 KiB lz4-libs aarch64 1.9.4-6.fc40 fedora 261.4 KiB mpfr aarch64 4.2.1-4.fc41 fedora 818.8 KiB ncurses-base noarch 6.4-12.20240127.fc40 fedora 326.2 KiB ncurses-libs aarch64 6.4-12.20240127.fc40 fedora 2.2 MiB ocaml-srpm-macros noarch 10-2.fc41 fedora 1.9 KiB openblas-srpm-macros noarch 2-17.fc41 fedora 112.0 B openldap aarch64 2.6.8-2.fc41 fedora 952.3 KiB openssl-libs aarch64 1:3.2.2-1.fc41 fedora 7.8 MiB p11-kit aarch64 0.25.3-4.fc40 fedora 2.8 MiB p11-kit-trust aarch64 0.25.3-4.fc40 fedora 655.4 KiB package-notes-srpm-macros noarch 0.5-11.fc40 fedora 1.6 KiB pam aarch64 1.6.1-3.fc41 fedora 11.0 MiB pam-libs aarch64 1.6.1-3.fc41 fedora 607.0 KiB pcre2 aarch64 10.43-2.fc41.1 fedora 905.3 KiB pcre2-syntax noarch 10.43-2.fc41.1 fedora 249.0 KiB perl-srpm-macros noarch 1-55.fc41 fedora 861.0 B pkgconf aarch64 2.1.1-1.fc41 fedora 238.7 KiB pkgconf-m4 noarch 2.1.1-1.fc41 fedora 13.9 KiB pkgconf-pkg-config aarch64 2.1.1-1.fc41 fedora 990.0 B popt aarch64 1.19-6.fc40 fedora 272.8 KiB publicsuffix-list-dafsa noarch 20240107-3.fc40 fedora 67.5 KiB pyproject-srpm-macros noarch 1.12.2-1.fc41 fedora 1.5 KiB python-srpm-macros noarch 3.13-2.fc41 fedora 51.0 KiB qt5-srpm-macros noarch 5.15.14-1.fc41 fedora 500.0 B qt6-srpm-macros noarch 6.7.1-1.fc41 fedora 456.0 B readline aarch64 8.2-8.fc40 fedora 689.1 KiB rpm aarch64 4.19.92-1.fc41 fedora 3.9 MiB rpm-build-libs aarch64 4.19.92-1.fc41 fedora 262.7 KiB rpm-libs aarch64 4.19.92-1.fc41 fedora 797.9 KiB rpm-sequoia aarch64 1.6.0-3.fc41 fedora 2.1 MiB rust-srpm-macros noarch 26.3-1.fc41 fedora 4.8 KiB setup noarch 2.15.0-4.fc41 fedora 720.7 KiB sqlite-libs aarch64 3.46.0-2.fc41 fedora 1.6 MiB systemd-libs aarch64 256.1-3.fc41 fedora 2.5 MiB util-linux-core aarch64 2.40.1-2.fc41 fedora 6.2 MiB xxhash-libs aarch64 0.8.2-2.fc40 fedora 212.2 KiB xz-libs aarch64 1:5.6.2-1.fc41 fedora 266.3 KiB zig-srpm-macros noarch 1-2.fc40 fedora 1.1 KiB zip aarch64 3.0-40.fc40 fedora 1.1 MiB zlib-ng-compat aarch64 2.1.7-1.fc41 fedora 261.8 KiB zstd aarch64 1.5.6-1.fc41 fedora 1.6 MiB Installing groups: Buildsystem building group Transaction Summary: Installing: 154 packages Total size of inbound packages is 53 MiB. Need to download 53 MiB. After this operation 304 MiB will be used (install 304 MiB, remove 0 B). [ 1/154] bash-0:5.2.26-3.fc40.aarch64 100% | 105.8 MiB/s | 1.8 MiB | 00m00s [ 2/154] cpio-0:2.15-1.fc40.aarch64 100% | 142.5 MiB/s | 291.9 KiB | 00m00s [ 3/154] coreutils-0:9.5-2.fc41.aarch6 100% | 50.3 MiB/s | 1.2 MiB | 00m00s [ 4/154] bzip2-0:1.0.8-18.fc40.aarch64 100% | 2.1 MiB/s | 52.2 KiB | 00m00s [ 5/154] diffutils-0:3.10-5.fc40.aarch 100% | 98.6 MiB/s | 404.0 KiB | 00m00s [ 6/154] fedora-release-common-0:41-0. 100% | 10.9 MiB/s | 22.3 KiB | 00m00s [ 7/154] findutils-1:4.10.0-2.fc41.aar 100% | 271.2 MiB/s | 555.3 KiB | 00m00s [ 8/154] grep-0:3.11-8.fc41.aarch64 100% | 58.2 MiB/s | 298.0 KiB | 00m00s [ 9/154] gawk-0:5.3.0-3.fc40.aarch64 100% | 151.4 MiB/s | 1.1 MiB | 00m00s [ 10/154] gzip-0:1.13-1.fc40.aarch64 100% | 27.6 MiB/s | 169.8 KiB | 00m00s [ 11/154] info-0:7.1-2.fc40.aarch64 100% | 89.4 MiB/s | 183.1 KiB | 00m00s [ 12/154] patch-0:2.7.6-24.fc40.aarch64 100% | 31.6 MiB/s | 129.5 KiB | 00m00s [ 13/154] redhat-rpm-config-0:293-1.fc4 100% | 20.0 MiB/s | 82.0 KiB | 00m00s [ 14/154] rpm-build-0:4.19.92-1.fc41.aa 100% | 20.6 MiB/s | 84.5 KiB | 00m00s [ 15/154] sed-0:4.9-1.fc40.aarch64 100% | 61.7 MiB/s | 315.7 KiB | 00m00s [ 16/154] shadow-utils-2:4.15.1-5.fc41. 100% | 165.2 MiB/s | 1.3 MiB | 00m00s [ 17/154] tar-2:1.35-3.fc40.aarch64 100% | 93.0 MiB/s | 857.5 KiB | 00m00s [ 18/154] unzip-0:6.0-63.fc40.aarch64 100% | 18.1 MiB/s | 185.0 KiB | 00m00s [ 19/154] util-linux-0:2.40.1-2.fc41.aa 100% | 76.9 MiB/s | 1.2 MiB | 00m00s [ 20/154] which-0:2.21-41.fc40.aarch64 100% | 2.9 MiB/s | 41.6 KiB | 00m00s [ 21/154] xz-1:5.6.2-1.fc41.aarch64 100% | 41.9 MiB/s | 472.5 KiB | 00m00s [ 22/154] glibc-minimal-langpack-0:2.39 100% | 6.0 MiB/s | 98.7 KiB | 00m00s [ 23/154] filesystem-0:3.18-9.fc41.aarc 100% | 63.9 MiB/s | 1.1 MiB | 00m00s [ 24/154] ncurses-libs-0:6.4-12.2024012 100% | 20.1 MiB/s | 329.1 KiB | 00m00s [ 25/154] bzip2-libs-0:1.0.8-18.fc40.aa 100% | 4.6 MiB/s | 42.7 KiB | 00m00s [ 26/154] coreutils-common-0:9.5-2.fc41 100% | 132.5 MiB/s | 2.1 MiB | 00m00s [ 27/154] gmp-1:6.3.0-1.fc41.aarch64 100% | 16.5 MiB/s | 270.0 KiB | 00m00s [ 28/154] libacl-0:2.3.2-1.fc40.aarch64 100% | 2.2 MiB/s | 24.7 KiB | 00m00s [ 29/154] libattr-0:2.5.2-3.fc40.aarch6 100% | 5.9 MiB/s | 18.0 KiB | 00m00s [ 30/154] libcap-0:2.70-1.fc41.aarch64 100% | 21.3 MiB/s | 87.4 KiB | 00m00s [ 31/154] libselinux-0:3.6-6.fc41.aarch 100% | 28.4 MiB/s | 87.3 KiB | 00m00s [ 32/154] openssl-libs-1:3.2.2-1.fc41.a 100% | 204.4 MiB/s | 2.2 MiB | 00m00s [ 33/154] fedora-repos-0:41-0.2.noarch 100% | 932.9 KiB/s | 9.3 KiB | 00m00s [ 34/154] mpfr-0:4.2.1-4.fc41.aarch64 100% | 31.7 MiB/s | 324.7 KiB | 00m00s [ 35/154] readline-0:8.2-8.fc40.aarch64 100% | 52.1 MiB/s | 213.5 KiB | 00m00s [ 36/154] pcre2-0:10.43-2.fc41.1.aarch6 100% | 44.2 MiB/s | 226.4 KiB | 00m00s [ 37/154] ed-0:1.20.2-1.fc41.aarch64 100% | 11.3 MiB/s | 81.3 KiB | 00m00s [ 38/154] ansible-srpm-macros-0:1-15.fc 100% | 4.1 MiB/s | 20.9 KiB | 00m00s [ 39/154] build-reproducibility-srpm-ma 100% | 1.9 MiB/s | 9.6 KiB | 00m00s [ 40/154] dwz-0:0.15-6.fc40.aarch64 100% | 44.5 MiB/s | 136.6 KiB | 00m00s [ 41/154] efi-srpm-macros-0:5-11.fc40.n 100% | 7.3 MiB/s | 22.3 KiB | 00m00s [ 42/154] file-0:5.45-6.fc41.aarch64 100% | 12.1 MiB/s | 49.5 KiB | 00m00s [ 43/154] fonts-srpm-macros-1:2.0.5-16. 100% | 5.2 MiB/s | 26.9 KiB | 00m00s [ 44/154] forge-srpm-macros-0:0.3.1-1.f 100% | 9.5 MiB/s | 19.4 KiB | 00m00s [ 45/154] fpc-srpm-macros-0:1.3-12.fc40 100% | 3.8 MiB/s | 7.8 KiB | 00m00s [ 46/154] ghc-srpm-macros-0:1.9.1-1.fc4 100% | 4.4 MiB/s | 9.0 KiB | 00m00s [ 47/154] gnat-srpm-macros-0:6-5.fc40.n 100% | 4.3 MiB/s | 8.8 KiB | 00m00s [ 48/154] go-srpm-macros-0:3.6.0-1.fc41 100% | 13.6 MiB/s | 27.9 KiB | 00m00s [ 49/154] kernel-srpm-macros-0:1.0-23.f 100% | 4.8 MiB/s | 9.8 KiB | 00m00s [ 50/154] lua-srpm-macros-0:1-13.fc40.n 100% | 4.3 MiB/s | 8.7 KiB | 00m00s [ 51/154] ocaml-srpm-macros-0:10-2.fc41 100% | 3.0 MiB/s | 9.1 KiB | 00m00s [ 52/154] openblas-srpm-macros-0:2-17.f 100% | 3.7 MiB/s | 7.7 KiB | 00m00s [ 53/154] package-notes-srpm-macros-0:0 100% | 4.9 MiB/s | 9.9 KiB | 00m00s [ 54/154] perl-srpm-macros-0:1-55.fc41. 100% | 4.1 MiB/s | 8.4 KiB | 00m00s [ 55/154] pyproject-srpm-macros-0:1.12. 100% | 6.2 MiB/s | 12.7 KiB | 00m00s [ 56/154] python-srpm-macros-0:3.13-2.f 100% | 7.8 MiB/s | 23.8 KiB | 00m00s [ 57/154] qt5-srpm-macros-0:5.15.14-1.f 100% | 8.7 MiB/s | 8.9 KiB | 00m00s [ 58/154] qt6-srpm-macros-0:6.7.1-1.fc4 100% | 8.7 MiB/s | 8.9 KiB | 00m00s [ 59/154] rpm-0:4.19.92-1.fc41.aarch64 100% | 179.5 MiB/s | 551.4 KiB | 00m00s [ 60/154] rust-srpm-macros-0:26.3-1.fc4 100% | 4.1 MiB/s | 12.5 KiB | 00m00s [ 61/154] zig-srpm-macros-0:1-2.fc40.no 100% | 2.0 MiB/s | 8.0 KiB | 00m00s [ 62/154] zip-0:3.0-40.fc40.aarch64 100% | 85.7 MiB/s | 263.3 KiB | 00m00s [ 63/154] debugedit-0:5.0-16.fc41.aarch 100% | 8.6 MiB/s | 79.2 KiB | 00m00s [ 64/154] elfutils-0:0.191-7.fc41.aarch 100% | 61.5 MiB/s | 567.1 KiB | 00m00s [ 65/154] elfutils-libelf-0:0.191-7.fc4 100% | 18.5 MiB/s | 208.9 KiB | 00m00s [ 66/154] libarchive-0:3.7.4-1.fc41.aar 100% | 36.0 MiB/s | 405.8 KiB | 00m00s [ 67/154] pkgconf-pkg-config-0:2.1.1-1. 100% | 1.4 MiB/s | 9.9 KiB | 00m00s [ 68/154] popt-0:1.19-6.fc40.aarch64 100% | 10.9 MiB/s | 66.7 KiB | 00m00s [ 69/154] binutils-0:2.42.50-14.fc41.aa 100% | 166.5 MiB/s | 6.8 MiB | 00m00s [ 70/154] rpm-build-libs-0:4.19.92-1.fc 100% | 7.8 MiB/s | 95.8 KiB | 00m00s [ 71/154] rpm-libs-0:4.19.92-1.fc41.aar 100% | 24.6 MiB/s | 302.3 KiB | 00m00s [ 72/154] zstd-0:1.5.6-1.fc41.aarch64 100% | 89.2 MiB/s | 456.8 KiB | 00m00s [ 73/154] audit-libs-0:4.0.1-3.fc41.aar 100% | 24.7 MiB/s | 126.3 KiB | 00m00s [ 74/154] libeconf-0:0.6.2-2.fc41.aarch 100% | 6.3 MiB/s | 32.2 KiB | 00m00s [ 75/154] libsemanage-0:3.6-4.fc41.aarc 100% | 37.2 MiB/s | 114.3 KiB | 00m00s [ 76/154] libxcrypt-0:4.4.36-5.fc40.aar 100% | 40.1 MiB/s | 123.3 KiB | 00m00s [ 77/154] pam-libs-0:1.6.1-3.fc41.aarch 100% | 18.6 MiB/s | 57.2 KiB | 00m00s [ 78/154] setup-0:2.15.0-4.fc41.noarch 100% | 25.2 MiB/s | 154.6 KiB | 00m00s [ 79/154] authselect-libs-0:1.5.0-5.fc4 100% | 35.6 MiB/s | 218.8 KiB | 00m00s [ 80/154] libblkid-0:2.40.1-2.fc41.aarc 100% | 17.5 MiB/s | 125.7 KiB | 00m00s [ 81/154] libcap-ng-0:0.8.5-2.fc41.aarc 100% | 4.0 MiB/s | 32.6 KiB | 00m00s [ 82/154] libfdisk-0:2.40.1-2.fc41.aarc 100% | 19.2 MiB/s | 157.4 KiB | 00m00s [ 83/154] libmount-0:2.40.1-2.fc41.aarc 100% | 18.9 MiB/s | 154.6 KiB | 00m00s [ 84/154] libsmartcols-0:2.40.1-2.fc41. 100% | 40.4 MiB/s | 82.8 KiB | 00m00s [ 85/154] libutempter-0:1.2.1-13.fc40.a 100% | 13.1 MiB/s | 26.8 KiB | 00m00s [ 86/154] libuuid-0:2.40.1-2.fc41.aarch 100% | 14.1 MiB/s | 28.9 KiB | 00m00s [ 87/154] pam-0:1.6.1-3.fc41.aarch64 100% | 137.6 MiB/s | 563.6 KiB | 00m00s [ 88/154] systemd-libs-0:256.1-3.fc41.a 100% | 115.4 MiB/s | 709.0 KiB | 00m00s [ 89/154] util-linux-core-0:2.40.1-2.fc 100% | 74.6 MiB/s | 535.1 KiB | 00m00s [ 90/154] zlib-ng-compat-0:2.1.7-1.fc41 100% | 16.3 MiB/s | 66.6 KiB | 00m00s [ 91/154] xz-libs-1:5.6.2-1.fc41.aarch6 100% | 36.1 MiB/s | 110.9 KiB | 00m00s [ 92/154] ncurses-base-0:6.4-12.2024012 100% | 43.4 MiB/s | 88.9 KiB | 00m00s [ 93/154] libgcc-0:14.1.1-6.fc41.aarch6 100% | 110.5 MiB/s | 113.2 KiB | 00m00s [ 94/154] libsepol-0:3.6-3.fc40.aarch64 100% | 159.5 MiB/s | 326.7 KiB | 00m00s [ 95/154] glibc-common-0:2.39.9999-99.f 100% | 40.6 MiB/s | 374.2 KiB | 00m00s [ 96/154] ca-certificates-0:2024.2.68_v 100% | 214.6 MiB/s | 879.1 KiB | 00m00s [ 97/154] crypto-policies-0:20240521-1. 100% | 22.0 MiB/s | 90.0 KiB | 00m00s [ 98/154] fedora-gpg-keys-0:41-0.2.noar 100% | 64.4 MiB/s | 131.8 KiB | 00m00s [ 99/154] fedora-repos-rawhide-0:41-0.2 100% | 4.3 MiB/s | 8.9 KiB | 00m00s [100/154] glibc-0:2.39.9999-99.fc41.aar 100% | 85.2 MiB/s | 1.8 MiB | 00m00s [101/154] pcre2-syntax-0:10.43-2.fc41.1 100% | 29.1 MiB/s | 148.9 KiB | 00m00s [102/154] add-determinism-0:0.3.1-1.fc4 100% | 122.3 MiB/s | 751.2 KiB | 00m00s [103/154] file-libs-0:5.45-6.fc41.aarch 100% | 148.9 MiB/s | 762.4 KiB | 00m00s [104/154] curl-0:8.8.0-1.fc41.aarch64 100% | 49.2 MiB/s | 302.2 KiB | 00m00s [105/154] alternatives-0:1.28-1.fc41.aa 100% | 6.5 MiB/s | 40.1 KiB | 00m00s [106/154] elfutils-debuginfod-client-0: 100% | 12.3 MiB/s | 37.8 KiB | 00m00s [107/154] jansson-0:2.13.1-9.fc40.aarch 100% | 22.3 MiB/s | 45.8 KiB | 00m00s [108/154] libstdc++-0:14.1.1-6.fc41.aar 100% | 203.1 MiB/s | 832.0 KiB | 00m00s [109/154] elfutils-libs-0:0.191-7.fc41. 100% | 51.5 MiB/s | 263.8 KiB | 00m00s [110/154] libzstd-0:1.5.6-1.fc41.aarch6 100% | 46.6 MiB/s | 286.6 KiB | 00m00s [111/154] libxml2-0:2.12.8-1.fc41.aarch 100% | 165.4 MiB/s | 677.5 KiB | 00m00s [112/154] lz4-libs-0:1.9.4-6.fc40.aarch 100% | 16.5 MiB/s | 67.6 KiB | 00m00s [113/154] pkgconf-0:2.1.1-1.fc41.aarch6 100% | 14.2 MiB/s | 43.7 KiB | 00m00s [114/154] pkgconf-m4-0:2.1.1-1.fc41.noa 100% | 13.7 MiB/s | 14.1 KiB | 00m00s [115/154] libgomp-0:14.1.1-6.fc41.aarch 100% | 166.5 MiB/s | 341.0 KiB | 00m00s [116/154] lua-libs-0:5.4.6-5.fc40.aarch 100% | 64.2 MiB/s | 131.5 KiB | 00m00s [117/154] rpm-sequoia-0:1.6.0-3.fc41.aa 100% | 196.7 MiB/s | 805.6 KiB | 00m00s [118/154] sqlite-libs-0:3.46.0-2.fc41.a 100% | 114.9 MiB/s | 705.8 KiB | 00m00s [119/154] authselect-0:1.5.0-5.fc41.aar 100% | 28.5 MiB/s | 146.1 KiB | 00m00s [120/154] gdbm-1:1.23-6.fc40.aarch64 100% | 50.1 MiB/s | 154.0 KiB | 00m00s [121/154] gdbm-libs-1:1.23-6.fc40.aarch 100% | 55.1 MiB/s | 56.5 KiB | 00m00s [122/154] libnsl2-0:2.0.1-1.fc40.aarch6 100% | 14.6 MiB/s | 29.9 KiB | 00m00s [123/154] libpwquality-0:1.4.5-10.fc41. 100% | 58.4 MiB/s | 119.6 KiB | 00m00s [124/154] libtirpc-0:1.3.4-1.rc3.fc41.a 100% | 30.6 MiB/s | 94.1 KiB | 00m00s [125/154] basesystem-0:11-20.fc40.noarc 100% | 2.3 MiB/s | 7.2 KiB | 00m00s [126/154] p11-kit-0:0.25.3-4.fc40.aarch 100% | 69.7 MiB/s | 499.7 KiB | 00m00s [127/154] p11-kit-trust-0:0.25.3-4.fc40 100% | 27.7 MiB/s | 141.8 KiB | 00m00s [128/154] elfutils-default-yama-scope-0 100% | 13.0 MiB/s | 13.3 KiB | 00m00s [129/154] libpkgconf-0:2.1.1-1.fc41.aar 100% | 37.7 MiB/s | 38.6 KiB | 00m00s [130/154] cracklib-0:2.9.11-5.fc40.aarc 100% | 91.7 MiB/s | 93.9 KiB | 00m00s [131/154] glibc-gconv-extra-0:2.39.9999 100% | 117.1 MiB/s | 2.0 MiB | 00m00s [132/154] krb5-libs-0:1.21.2-5.fc40.aar 100% | 125.7 MiB/s | 772.6 KiB | 00m00s [133/154] libcom_err-0:1.47.0-5.fc40.aa 100% | 5.0 MiB/s | 25.5 KiB | 00m00s [134/154] libffi-0:3.4.6-1.fc41.aarch64 100% | 12.4 MiB/s | 38.2 KiB | 00m00s [135/154] libtasn1-0:4.19.0-6.fc40.aarc 100% | 35.7 MiB/s | 73.1 KiB | 00m00s [136/154] keyutils-libs-0:1.6.3-3.fc40. 100% | 10.3 MiB/s | 31.6 KiB | 00m00s [137/154] libverto-0:0.3.2-8.fc40.aarch 100% | 10.1 MiB/s | 20.7 KiB | 00m00s [138/154] fedora-release-0:41-0.14.noar 100% | 5.6 MiB/s | 11.5 KiB | 00m00s [139/154] xxhash-libs-0:0.8.2-2.fc40.aa 100% | 2.8 MiB/s | 34.3 KiB | 00m00s [140/154] fedora-release-identity-basic 100% | 945.9 KiB/s | 12.3 KiB | 00m00s [141/154] gdb-minimal-0:14.2-12.fc41.aa 100% | 150.7 MiB/s | 3.9 MiB | 00m00s [142/154] libcurl-0:8.8.0-1.fc41.aarch6 100% | 26.6 MiB/s | 353.6 KiB | 00m00s [143/154] libbrotli-0:1.1.0-4.fc41.aarc 100% | 24.1 MiB/s | 346.0 KiB | 00m00s [144/154] libidn2-0:2.3.7-1.fc40.aarch6 100% | 16.6 MiB/s | 119.1 KiB | 00m00s [145/154] libnghttp2-0:1.62.1-1.fc41.aa 100% | 10.7 MiB/s | 76.8 KiB | 00m00s [146/154] libpsl-0:0.21.5-3.fc40.aarch6 100% | 12.5 MiB/s | 64.2 KiB | 00m00s [147/154] libssh-0:0.10.6-6.fc41.aarch6 100% | 52.2 MiB/s | 214.0 KiB | 00m00s [148/154] openldap-0:2.6.8-2.fc41.aarch 100% | 49.1 MiB/s | 251.6 KiB | 00m00s [149/154] libunistring-0:1.1-7.fc41.aar 100% | 106.2 MiB/s | 543.6 KiB | 00m00s [150/154] publicsuffix-list-dafsa-0:202 100% | 18.9 MiB/s | 58.1 KiB | 00m00s [151/154] libssh-config-0:0.10.6-6.fc41 100% | 4.5 MiB/s | 9.1 KiB | 00m00s [152/154] cyrus-sasl-lib-0:2.1.28-24.fc 100% | 190.4 MiB/s | 779.8 KiB | 00m00s [153/154] libevent-0:2.1.12-13.fc41.aar 100% | 62.3 MiB/s | 255.3 KiB | 00m00s [154/154] libtool-ltdl-0:2.4.7-11.fc41. 100% | 8.7 MiB/s | 35.6 KiB | 00m00s -------------------------------------------------------------------------------- [154/154] Total 100% | 135.5 MiB/s | 52.6 MiB | 00m00s Running transaction Importing PGP key 0xE99D6AD1: Userid : "Fedora (41) " Fingerprint: 466CF2D8B60BC3057AA9453ED0622462E99D6AD1 From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-41-primary The key was successfully imported. Importing PGP key 0xE99D6AD1: Userid : "Fedora (41) " Fingerprint: 466CF2D8B60BC3057AA9453ED0622462E99D6AD1 From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-41-primary The key was successfully imported. Importing PGP key 0xA15B79CC: Userid : "Fedora (40) " Fingerprint: 115DF9AEF857853EE8445D0A0727707EA15B79CC From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-40-primary The key was successfully imported. [ 1/156] Verify package files 100% | 594.0 B/s | 154.0 B | 00m00s >>> Running pre-transaction scriptlet: filesystem-0:3.18-9.fc41.aarch64 >>> Stop pre-transaction scriptlet: filesystem-0:3.18-9.fc41.aarch64 [ 2/156] Prepare transaction 100% | 2.5 KiB/s | 154.0 B | 00m00s [ 3/156] Installing libgcc-0:14.1.1-6. 100% | 114.5 MiB/s | 351.9 KiB | 00m00s >>> Running post-install scriptlet: libgcc-0:14.1.1-6.fc41.aarch64 >>> Stop post-install scriptlet: libgcc-0:14.1.1-6.fc41.aarch64 [ 4/156] Installing crypto-policies-0: 100% | 17.9 MiB/s | 147.0 KiB | 00m00s >>> Running post-install scriptlet: crypto-policies-0:20240521-1.gitf71d135.fc41 >>> Stop post-install scriptlet: crypto-policies-0:20240521-1.gitf71d135.fc41.no [ 5/156] Installing libssh-config-0:0. 100% | 796.9 KiB/s | 816.0 B | 00m00s [ 6/156] Installing publicsuffix-list- 100% | 66.7 MiB/s | 68.3 KiB | 00m00s [ 7/156] Installing fedora-release-ide 100% | 0.0 B/s | 952.0 B | 00m00s [ 8/156] Installing fedora-repos-rawhi 100% | 2.4 MiB/s | 2.4 KiB | 00m00s [ 9/156] Installing fedora-gpg-keys-0: 100% | 27.6 MiB/s | 169.7 KiB | 00m00s [ 10/156] Installing fedora-repos-0:41- 100% | 5.6 MiB/s | 5.7 KiB | 00m00s [ 11/156] Installing fedora-release-com 100% | 11.5 MiB/s | 23.5 KiB | 00m00s [ 12/156] Installing fedora-release-0:4 100% | 0.0 B/s | 124.0 B | 00m00s [ 13/156] Installing setup-0:2.15.0-4.f 100% | 41.7 MiB/s | 726.1 KiB | 00m00s >>> Running post-install scriptlet: setup-0:2.15.0-4.fc41.noarch >>> Stop post-install scriptlet: setup-0:2.15.0-4.fc41.noarch [ 14/156] Installing filesystem-0:3.18- 100% | 2.2 MiB/s | 212.5 KiB | 00m00s [ 15/156] Installing basesystem-0:11-20 100% | 0.0 B/s | 124.0 B | 00m00s [ 16/156] Installing pkgconf-m4-0:2.1.1 100% | 14.0 MiB/s | 14.3 KiB | 00m00s [ 17/156] Installing pcre2-syntax-0:10. 100% | 122.8 MiB/s | 251.5 KiB | 00m00s [ 18/156] Installing ncurses-base-0:6.4 100% | 49.1 MiB/s | 351.6 KiB | 00m00s [ 19/156] Installing glibc-minimal-lang 100% | 0.0 B/s | 124.0 B | 00m00s [ 20/156] Installing ncurses-libs-0:6.4 100% | 321.1 MiB/s | 2.2 MiB | 00m00s >>> Running pre-install scriptlet: glibc-0:2.39.9999-99.fc41.aarch64 >>> Stop pre-install scriptlet: glibc-0:2.39.9999-99.fc41.aarch64 warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead [ 21/156] Installing glibc-0:2.39.9999- 100% | 249.9 MiB/s | 9.7 MiB | 00m00s >>> Running post-install scriptlet: glibc-0:2.39.9999-99.fc41.aarch64 >>> Stop post-install scriptlet: glibc-0:2.39.9999-99.fc41.aarch64 [ 22/156] Installing bash-0:5.2.26-3.fc 100% | 286.6 MiB/s | 8.3 MiB | 00m00s >>> Running post-install scriptlet: bash-0:5.2.26-3.fc40.aarch64 >>> Stop post-install scriptlet: bash-0:5.2.26-3.fc40.aarch64 [ 23/156] Installing glibc-common-0:2.3 100% | 284.7 MiB/s | 2.6 MiB | 00m00s warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead [ 24/156] Installing glibc-gconv-extra- 100% | 539.0 MiB/s | 49.0 MiB | 00m00s >>> Running post-install scriptlet: glibc-gconv-extra-0:2.39.9999-99.fc41.aarch6 >>> Stop post-install scriptlet: glibc-gconv-extra-0:2.39.9999-99.fc41.aarch64 [ 25/156] Installing zlib-ng-compat-0:2 100% | 128.2 MiB/s | 262.6 KiB | 00m00s [ 26/156] Installing bzip2-libs-0:1.0.8 100% | 197.0 MiB/s | 201.8 KiB | 00m00s [ 27/156] Installing xz-libs-1:5.6.2-1. 100% | 130.6 MiB/s | 267.5 KiB | 00m00s [ 28/156] Installing readline-0:8.2-8.f 100% | 225.0 MiB/s | 691.2 KiB | 00m00s [ 29/156] Installing popt-0:1.19-6.fc40 100% | 68.2 MiB/s | 279.4 KiB | 00m00s [ 30/156] Installing libuuid-0:2.40.1-2 100% | 193.9 MiB/s | 198.5 KiB | 00m00s [ 31/156] Installing libblkid-0:2.40.1- 100% | 204.8 MiB/s | 419.5 KiB | 00m00s [ 32/156] Installing gmp-1:6.3.0-1.fc41 100% | 235.7 MiB/s | 724.2 KiB | 00m00s [ 33/156] Installing libattr-0:2.5.2-3. 100% | 192.8 MiB/s | 197.4 KiB | 00m00s [ 34/156] Installing libacl-0:2.3.2-1.f 100% | 192.2 MiB/s | 196.8 KiB | 00m00s [ 35/156] Installing libxcrypt-0:4.4.36 100% | 196.1 MiB/s | 401.6 KiB | 00m00s [ 36/156] Installing libstdc++-0:14.1.1 100% | 296.2 MiB/s | 3.0 MiB | 00m00s [ 37/156] Installing libzstd-0:1.5.6-1. 100% | 259.5 MiB/s | 797.2 KiB | 00m00s [ 38/156] Installing elfutils-libelf-0: 100% | 328.5 MiB/s | 1.3 MiB | 00m00s [ 39/156] Installing libeconf-0:0.6.2-2 100% | 202.8 MiB/s | 207.6 KiB | 00m00s [ 40/156] Installing gdbm-libs-1:1.23-6 100% | 208.7 MiB/s | 427.5 KiB | 00m00s [ 41/156] Installing dwz-0:0.15-6.fc40. 100% | 189.5 MiB/s | 388.1 KiB | 00m00s [ 42/156] Installing mpfr-0:4.2.1-4.fc4 100% | 200.3 MiB/s | 820.4 KiB | 00m00s [ 43/156] Installing gawk-0:5.3.0-3.fc4 100% | 355.2 MiB/s | 4.3 MiB | 00m00s [ 44/156] Installing unzip-0:6.0-63.fc4 100% | 237.6 MiB/s | 729.8 KiB | 00m00s [ 45/156] Installing file-libs-0:5.45-6 100% | 527.6 MiB/s | 10.0 MiB | 00m00s [ 46/156] Installing file-0:5.45-6.fc41 100% | 131.3 MiB/s | 268.9 KiB | 00m00s [ 47/156] Installing pcre2-0:10.43-2.fc 100% | 295.2 MiB/s | 906.7 KiB | 00m00s [ 48/156] Installing grep-0:3.11-8.fc41 100% | 137.1 MiB/s | 1.1 MiB | 00m00s [ 49/156] Installing xz-1:5.6.2-1.fc41. 100% | 164.7 MiB/s | 1.5 MiB | 00m00s [ 50/156] Installing libcap-ng-0:0.8.5- 100% | 204.5 MiB/s | 418.9 KiB | 00m00s [ 51/156] Installing audit-libs-0:4.0.1 100% | 268.2 MiB/s | 549.4 KiB | 00m00s [ 52/156] Installing pam-libs-0:1.6.1-3 100% | 297.4 MiB/s | 609.1 KiB | 00m00s [ 53/156] Installing libcap-0:2.70-1.fc 100% | 343.9 MiB/s | 1.4 MiB | 00m00s [ 54/156] Installing systemd-libs-0:256 100% | 315.1 MiB/s | 2.5 MiB | 00m00s [ 55/156] Installing libsmartcols-0:2.4 100% | 141.4 MiB/s | 289.6 KiB | 00m00s [ 56/156] Installing libsepol-0:3.6-3.f 100% | 284.8 MiB/s | 874.9 KiB | 00m00s [ 57/156] Installing libselinux-0:3.6-6 100% | 130.0 MiB/s | 266.2 KiB | 00m00s [ 58/156] Installing sed-0:4.9-1.fc40.a 100% | 164.3 MiB/s | 1.0 MiB | 00m00s [ 59/156] Installing findutils-1:4.10.0 100% | 234.2 MiB/s | 2.1 MiB | 00m00s [ 60/156] Installing libmount-0:2.40.1- 100% | 236.8 MiB/s | 485.0 KiB | 00m00s [ 61/156] Installing alternatives-0:1.2 100% | 214.8 MiB/s | 220.0 KiB | 00m00s [ 62/156] Installing lz4-libs-0:1.9.4-6 100% | 256.3 MiB/s | 262.5 KiB | 00m00s [ 63/156] Installing lua-libs-0:5.4.6-5 100% | 192.5 MiB/s | 394.2 KiB | 00m00s [ 64/156] Installing libcom_err-0:1.47. 100% | 234.7 MiB/s | 240.3 KiB | 00m00s [ 65/156] Installing libtasn1-0:4.19.0- 100% | 139.4 MiB/s | 285.5 KiB | 00m00s [ 66/156] Installing libunistring-0:1.1 100% | 311.9 MiB/s | 1.9 MiB | 00m00s [ 67/156] Installing libidn2-0:2.3.7-1. 100% | 113.0 MiB/s | 463.0 KiB | 00m00s [ 68/156] Installing libpsl-0:0.21.5-3. 100% | 193.0 MiB/s | 197.6 KiB | 00m00s [ 69/156] Installing zstd-0:1.5.6-1.fc4 100% | 261.0 MiB/s | 1.6 MiB | 00m00s [ 70/156] Installing util-linux-core-0: 100% | 413.3 MiB/s | 6.2 MiB | 00m00s [ 71/156] Installing tar-2:1.35-3.fc40. 100% | 255.6 MiB/s | 3.1 MiB | 00m00s [ 72/156] Installing libsemanage-0:3.6- 100% | 118.2 MiB/s | 363.2 KiB | 00m00s [ 73/156] Installing shadow-utils-2:4.1 100% | 171.6 MiB/s | 7.4 MiB | 00m00s >>> Running pre-install scriptlet: libutempter-0:1.2.1-13.fc40.aarch64 >>> Stop pre-install scriptlet: libutempter-0:1.2.1-13.fc40.aarch64 [ 74/156] Installing libutempter-0:1.2. 100% | 136.6 MiB/s | 419.6 KiB | 00m00s [ 75/156] Installing zip-0:3.0-40.fc40. 100% | 224.8 MiB/s | 1.1 MiB | 00m00s [ 76/156] Installing gdbm-1:1.23-6.fc40 100% | 227.8 MiB/s | 933.2 KiB | 00m00s [ 77/156] Installing cyrus-sasl-lib-0:2 100% | 282.4 MiB/s | 3.1 MiB | 00m00s [ 78/156] Installing libfdisk-0:2.40.1- 100% | 236.2 MiB/s | 483.8 KiB | 00m00s [ 79/156] Installing libxml2-0:2.12.8-1 100% | 267.7 MiB/s | 2.1 MiB | 00m00s [ 80/156] Installing bzip2-0:1.0.8-18.f 100% | 210.9 MiB/s | 432.0 KiB | 00m00s [ 81/156] Installing add-determinism-0: 100% | 272.1 MiB/s | 1.9 MiB | 00m00s [ 82/156] Installing build-reproducibil 100% | 1.0 MiB/s | 1.0 KiB | 00m00s [ 83/156] Installing sqlite-libs-0:3.46 100% | 259.8 MiB/s | 1.6 MiB | 00m00s [ 84/156] Installing ed-0:1.20.2-1.fc41 100% | 139.2 MiB/s | 285.0 KiB | 00m00s [ 85/156] Installing patch-0:2.7.6-24.f 100% | 191.4 MiB/s | 392.0 KiB | 00m00s [ 86/156] Installing elfutils-default-y 100% | 291.9 KiB/s | 2.0 KiB | 00m00s >>> Running post-install scriptlet: elfutils-default-yama-scope-0:0.191-7.fc41.n >>> Stop post-install scriptlet: elfutils-default-yama-scope-0:0.191-7.fc41.noar [ 87/156] Installing elfutils-libs-0:0. 100% | 196.1 MiB/s | 1.0 MiB | 00m00s [ 88/156] Installing cpio-0:2.15-1.fc40 100% | 174.4 MiB/s | 1.2 MiB | 00m00s [ 89/156] Installing diffutils-0:3.10-5 100% | 234.3 MiB/s | 2.1 MiB | 00m00s [ 90/156] Installing jansson-0:2.13.1-9 100% | 108.3 MiB/s | 221.7 KiB | 00m00s [ 91/156] Installing libgomp-0:14.1.1-6 100% | 277.6 MiB/s | 568.5 KiB | 00m00s [ 92/156] Installing libpkgconf-0:2.1.1 100% | 194.5 MiB/s | 199.2 KiB | 00m00s [ 93/156] Installing pkgconf-0:2.1.1-1. 100% | 117.8 MiB/s | 241.2 KiB | 00m00s [ 94/156] Installing pkgconf-pkg-config 100% | 1.7 MiB/s | 1.8 KiB | 00m00s [ 95/156] Installing libffi-0:3.4.6-1.f 100% | 138.5 MiB/s | 283.7 KiB | 00m00s [ 96/156] Installing p11-kit-0:0.25.3-4 100% | 202.3 MiB/s | 2.8 MiB | 00m00s [ 97/156] Installing p11-kit-trust-0:0. 100% | 58.3 MiB/s | 657.2 KiB | 00m00s >>> Running post-install scriptlet: p11-kit-trust-0:0.25.3-4.fc40.aarch64 >>> Stop post-install scriptlet: p11-kit-trust-0:0.25.3-4.fc40.aarch64 [ 98/156] Installing keyutils-libs-0:1. 100% | 111.2 MiB/s | 227.8 KiB | 00m00s [ 99/156] Installing libverto-0:0.3.2-8 100% | 194.6 MiB/s | 199.2 KiB | 00m00s [100/156] Installing xxhash-libs-0:0.8. 100% | 208.6 MiB/s | 213.6 KiB | 00m00s [101/156] Installing libbrotli-0:1.1.0- 100% | 228.1 MiB/s | 1.1 MiB | 00m00s [102/156] Installing libnghttp2-0:1.62. 100% | 128.6 MiB/s | 263.3 KiB | 00m00s [103/156] Installing libtool-ltdl-0:2.4 100% | 218.0 MiB/s | 223.3 KiB | 00m00s [104/156] Installing rust-srpm-macros-0 100% | 5.4 MiB/s | 5.6 KiB | 00m00s [105/156] Installing qt6-srpm-macros-0: 100% | 0.0 B/s | 732.0 B | 00m00s [106/156] Installing qt5-srpm-macros-0: 100% | 0.0 B/s | 776.0 B | 00m00s [107/156] Installing perl-srpm-macros-0 100% | 0.0 B/s | 1.1 KiB | 00m00s [108/156] Installing package-notes-srpm 100% | 0.0 B/s | 2.0 KiB | 00m00s [109/156] Installing openblas-srpm-macr 100% | 0.0 B/s | 392.0 B | 00m00s [110/156] Installing ocaml-srpm-macros- 100% | 0.0 B/s | 2.2 KiB | 00m00s [111/156] Installing kernel-srpm-macros 100% | 0.0 B/s | 2.3 KiB | 00m00s [112/156] Installing gnat-srpm-macros-0 100% | 0.0 B/s | 1.3 KiB | 00m00s [113/156] Installing ghc-srpm-macros-0: 100% | 0.0 B/s | 1.0 KiB | 00m00s [114/156] Installing fpc-srpm-macros-0: 100% | 0.0 B/s | 420.0 B | 00m00s [115/156] Installing ansible-srpm-macro 100% | 35.4 MiB/s | 36.2 KiB | 00m00s [116/156] Installing coreutils-common-0 100% | 286.9 MiB/s | 11.2 MiB | 00m00s [117/156] Installing openssl-libs-1:3.2 100% | 323.9 MiB/s | 7.8 MiB | 00m00s [118/156] Installing coreutils-0:9.5-2. 100% | 442.4 MiB/s | 20.8 MiB | 00m00s >>> Running pre-install scriptlet: ca-certificates-0:2024.2.68_v8.0.302-2.fc41.n >>> Stop pre-install scriptlet: ca-certificates-0:2024.2.68_v8.0.302-2.fc41.noar [119/156] Installing ca-certificates-0: 100% | 2.3 MiB/s | 2.4 MiB | 00m01s >>> Running post-install scriptlet: ca-certificates-0:2024.2.68_v8.0.302-2.fc41. >>> Stop post-install scriptlet: ca-certificates-0:2024.2.68_v8.0.302-2.fc41.noa [120/156] Installing krb5-libs-0:1.21.2 100% | 243.3 MiB/s | 3.4 MiB | 00m00s [121/156] Installing libarchive-0:3.7.4 100% | 254.0 MiB/s | 1.0 MiB | 00m00s [122/156] Installing libtirpc-0:1.3.4-1 100% | 135.0 MiB/s | 276.4 KiB | 00m00s [123/156] Installing gzip-0:1.13-1.fc40 100% | 120.7 MiB/s | 494.3 KiB | 00m00s [124/156] Installing authselect-libs-0: 100% | 132.1 MiB/s | 946.7 KiB | 00m00s [125/156] Installing authselect-0:1.5.0 100% | 102.1 MiB/s | 313.8 KiB | 00m00s [126/156] Installing cracklib-0:2.9.11- 100% | 132.0 MiB/s | 946.0 KiB | 00m00s [127/156] Installing libpwquality-0:1.4 100% | 158.2 MiB/s | 1.1 MiB | 00m00s [128/156] Installing libnsl2-0:2.0.1-1. 100% | 108.9 MiB/s | 223.0 KiB | 00m00s [129/156] Installing pam-0:1.6.1-3.fc41 100% | 355.9 MiB/s | 11.0 MiB | 00m00s [130/156] Installing libssh-0:0.10.6-6. 100% | 189.9 MiB/s | 583.3 KiB | 00m00s [131/156] Installing rpm-sequoia-0:1.6. 100% | 263.1 MiB/s | 2.1 MiB | 00m00s [132/156] Installing rpm-libs-0:4.19.92 100% | 260.2 MiB/s | 799.4 KiB | 00m00s [133/156] Installing rpm-build-libs-0:4 100% | 128.7 MiB/s | 263.6 KiB | 00m00s [134/156] Installing libevent-0:2.1.12- 100% | 304.6 MiB/s | 1.5 MiB | 00m00s [135/156] Installing openldap-0:2.6.8-2 100% | 233.4 MiB/s | 956.1 KiB | 00m00s [136/156] Installing libcurl-0:8.8.0-1. 100% | 225.3 MiB/s | 922.6 KiB | 00m00s [137/156] Installing elfutils-debuginfo 100% | 194.7 MiB/s | 398.7 KiB | 00m00s [138/156] Installing binutils-0:2.42.50 100% | 328.3 MiB/s | 33.2 MiB | 00m00s >>> Running post-install scriptlet: binutils-0:2.42.50-14.fc41.aarch64 >>> Stop post-install scriptlet: binutils-0:2.42.50-14.fc41.aarch64 [139/156] Installing elfutils-0:0.191-7 100% | 358.2 MiB/s | 5.0 MiB | 00m00s [140/156] Installing gdb-minimal-0:14.2 100% | 295.7 MiB/s | 11.5 MiB | 00m00s [141/156] Installing debugedit-0:5.0-16 100% | 163.3 MiB/s | 501.8 KiB | 00m00s [142/156] Installing curl-0:8.8.0-1.fc4 100% | 61.0 MiB/s | 874.2 KiB | 00m00s >>> Running pre-install scriptlet: rpm-0:4.19.92-1.fc41.aarch64 >>> Stop pre-install scriptlet: rpm-0:4.19.92-1.fc41.aarch64 [143/156] Installing rpm-0:4.19.92-1.fc 100% | 139.6 MiB/s | 3.4 MiB | 00m00s [144/156] Installing efi-srpm-macros-0: 100% | 40.2 MiB/s | 41.2 KiB | 00m00s [145/156] Installing lua-srpm-macros-0: 100% | 1.9 MiB/s | 1.9 KiB | 00m00s [146/156] Installing zig-srpm-macros-0: 100% | 1.6 MiB/s | 1.7 KiB | 00m00s [147/156] Installing fonts-srpm-macros- 100% | 55.7 MiB/s | 57.0 KiB | 00m00s [148/156] Installing forge-srpm-macros- 100% | 39.4 MiB/s | 40.3 KiB | 00m00s [149/156] Installing go-srpm-macros-0:3 100% | 60.5 MiB/s | 62.0 KiB | 00m00s [150/156] Installing python-srpm-macros 100% | 50.9 MiB/s | 52.2 KiB | 00m00s [151/156] Installing redhat-rpm-config- 100% | 61.9 MiB/s | 190.1 KiB | 00m00s [152/156] Installing rpm-build-0:4.19.9 100% | 279.4 MiB/s | 1.4 MiB | 00m00s [153/156] Installing pyproject-srpm-mac 100% | 1.0 MiB/s | 2.1 KiB | 00m00s [154/156] Installing util-linux-0:2.40. 100% | 350.7 MiB/s | 17.5 MiB | 00m00s >>> Running post-install scriptlet: util-linux-0:2.40.1-2.fc41.aarch64 >>> Stop post-install scriptlet: util-linux-0:2.40.1-2.fc41.aarch64 [155/156] Installing which-0:2.21-41.fc 100% | 122.2 MiB/s | 250.3 KiB | 00m00s warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead [156/156] Installing info-0:7.1-2.fc40. 100% | 472.2 KiB/s | 613.9 KiB | 00m01s >>> Running post-transaction scriptlet: filesystem-0:3.18-9.fc41.aarch64 >>> Stop post-transaction scriptlet: filesystem-0:3.18-9.fc41.aarch64 >>> Running post-transaction scriptlet: ca-certificates-0:2024.2.68_v8.0.302-2.f >>> Stop post-transaction scriptlet: ca-certificates-0:2024.2.68_v8.0.302-2.fc41 >>> Running post-transaction scriptlet: authselect-libs-0:1.5.0-5.fc41.aarch64 >>> Stop post-transaction scriptlet: authselect-libs-0:1.5.0-5.fc41.aarch64 >>> Running post-transaction scriptlet: rpm-0:4.19.92-1.fc41.aarch64 >>> Stop post-transaction scriptlet: rpm-0:4.19.92-1.fc41.aarch64 >>> Running trigger-install scriptlet: glibc-common-0:2.39.9999-99.fc41.aarch64 >>> Stop trigger-install scriptlet: glibc-common-0:2.39.9999-99.fc41.aarch64 >>> Running trigger-install scriptlet: info-0:7.1-2.fc40.aarch64 >>> Stop trigger-install scriptlet: info-0:7.1-2.fc40.aarch64 Warning: skipped PGP checks for 4 packages from repository: copr_base Finish: installing minimal buildroot with dnf5 Start: creating root cache Finish: creating root cache Finish: chroot init INFO: Installed packages: INFO: add-determinism-0.3.1-1.fc41.aarch64 alternatives-1.28-1.fc41.aarch64 ansible-srpm-macros-1-15.fc41.noarch audit-libs-4.0.1-3.fc41.aarch64 authselect-1.5.0-5.fc41.aarch64 authselect-libs-1.5.0-5.fc41.aarch64 basesystem-11-20.fc40.noarch bash-5.2.26-3.fc40.aarch64 binutils-2.42.50-14.fc41.aarch64 build-reproducibility-srpm-macros-0.3.1-1.fc41.noarch bzip2-1.0.8-18.fc40.aarch64 bzip2-libs-1.0.8-18.fc40.aarch64 ca-certificates-2024.2.68_v8.0.302-2.fc41.noarch coreutils-9.5-2.fc41.aarch64 coreutils-common-9.5-2.fc41.aarch64 cpio-2.15-1.fc40.aarch64 cracklib-2.9.11-5.fc40.aarch64 crypto-policies-20240521-1.gitf71d135.fc41.noarch curl-8.8.0-1.fc41.aarch64 cyrus-sasl-lib-2.1.28-24.fc41.aarch64 debugedit-5.0-16.fc41.aarch64 diffutils-3.10-5.fc40.aarch64 dwz-0.15-6.fc40.aarch64 ed-1.20.2-1.fc41.aarch64 efi-srpm-macros-5-11.fc40.noarch elfutils-0.191-7.fc41.aarch64 elfutils-debuginfod-client-0.191-7.fc41.aarch64 elfutils-default-yama-scope-0.191-7.fc41.noarch elfutils-libelf-0.191-7.fc41.aarch64 elfutils-libs-0.191-7.fc41.aarch64 fedora-gpg-keys-41-0.2.noarch fedora-release-41-0.14.noarch fedora-release-common-41-0.14.noarch fedora-release-identity-basic-41-0.14.noarch fedora-repos-41-0.2.noarch fedora-repos-rawhide-41-0.2.noarch file-5.45-6.fc41.aarch64 file-libs-5.45-6.fc41.aarch64 filesystem-3.18-9.fc41.aarch64 findutils-4.10.0-2.fc41.aarch64 fonts-srpm-macros-2.0.5-16.fc41.noarch forge-srpm-macros-0.3.1-1.fc41.noarch fpc-srpm-macros-1.3-12.fc40.noarch gawk-5.3.0-3.fc40.aarch64 gdb-minimal-14.2-12.fc41.aarch64 gdbm-1.23-6.fc40.aarch64 gdbm-libs-1.23-6.fc40.aarch64 ghc-srpm-macros-1.9.1-1.fc41.noarch glibc-2.39.9999-99.fc41.aarch64 glibc-common-2.39.9999-99.fc41.aarch64 glibc-gconv-extra-2.39.9999-99.fc41.aarch64 glibc-minimal-langpack-2.39.9999-99.fc41.aarch64 gmp-6.3.0-1.fc41.aarch64 gnat-srpm-macros-6-5.fc40.noarch go-srpm-macros-3.6.0-1.fc41.noarch gpg-pubkey-a15b79cc-63d04c2c gpg-pubkey-e99d6ad1-64d2612c grep-3.11-8.fc41.aarch64 gzip-1.13-1.fc40.aarch64 info-7.1-2.fc40.aarch64 jansson-2.13.1-9.fc40.aarch64 kernel-srpm-macros-1.0-23.fc41.noarch keyutils-libs-1.6.3-3.fc40.aarch64 krb5-libs-1.21.2-5.fc40.aarch64 libacl-2.3.2-1.fc40.aarch64 libarchive-3.7.4-1.fc41.aarch64 libattr-2.5.2-3.fc40.aarch64 libblkid-2.40.1-2.fc41.aarch64 libbrotli-1.1.0-4.fc41.aarch64 libcap-2.70-1.fc41.aarch64 libcap-ng-0.8.5-2.fc41.aarch64 libcom_err-1.47.0-5.fc40.aarch64 libcurl-8.8.0-1.fc41.aarch64 libeconf-0.6.2-2.fc41.aarch64 libevent-2.1.12-13.fc41.aarch64 libfdisk-2.40.1-2.fc41.aarch64 libffi-3.4.6-1.fc41.aarch64 libgcc-14.1.1-6.fc41.aarch64 libgomp-14.1.1-6.fc41.aarch64 libidn2-2.3.7-1.fc40.aarch64 libmount-2.40.1-2.fc41.aarch64 libnghttp2-1.62.1-1.fc41.aarch64 libnsl2-2.0.1-1.fc40.aarch64 libpkgconf-2.1.1-1.fc41.aarch64 libpsl-0.21.5-3.fc40.aarch64 libpwquality-1.4.5-10.fc41.aarch64 libselinux-3.6-6.fc41.aarch64 libsemanage-3.6-4.fc41.aarch64 libsepol-3.6-3.fc40.aarch64 libsmartcols-2.40.1-2.fc41.aarch64 libssh-0.10.6-6.fc41.aarch64 libssh-config-0.10.6-6.fc41.noarch libstdc++-14.1.1-6.fc41.aarch64 libtasn1-4.19.0-6.fc40.aarch64 libtirpc-1.3.4-1.rc3.fc41.aarch64 libtool-ltdl-2.4.7-11.fc41.aarch64 libunistring-1.1-7.fc41.aarch64 libutempter-1.2.1-13.fc40.aarch64 libuuid-2.40.1-2.fc41.aarch64 libverto-0.3.2-8.fc40.aarch64 libxcrypt-4.4.36-5.fc40.aarch64 libxml2-2.12.8-1.fc41.aarch64 libzstd-1.5.6-1.fc41.aarch64 lua-libs-5.4.6-5.fc40.aarch64 lua-srpm-macros-1-13.fc40.noarch lz4-libs-1.9.4-6.fc40.aarch64 mpfr-4.2.1-4.fc41.aarch64 ncurses-base-6.4-12.20240127.fc40.noarch ncurses-libs-6.4-12.20240127.fc40.aarch64 ocaml-srpm-macros-10-2.fc41.noarch openblas-srpm-macros-2-17.fc41.noarch openldap-2.6.8-2.fc41.aarch64 openssl-libs-3.2.2-1.fc41.aarch64 p11-kit-0.25.3-4.fc40.aarch64 p11-kit-trust-0.25.3-4.fc40.aarch64 package-notes-srpm-macros-0.5-11.fc40.noarch pam-1.6.1-3.fc41.aarch64 pam-libs-1.6.1-3.fc41.aarch64 patch-2.7.6-24.fc40.aarch64 pcre2-10.43-2.fc41.1.aarch64 pcre2-syntax-10.43-2.fc41.1.noarch perl-srpm-macros-1-55.fc41.noarch pkgconf-2.1.1-1.fc41.aarch64 pkgconf-m4-2.1.1-1.fc41.noarch pkgconf-pkg-config-2.1.1-1.fc41.aarch64 popt-1.19-6.fc40.aarch64 publicsuffix-list-dafsa-20240107-3.fc40.noarch pyproject-srpm-macros-1.12.2-1.fc41.noarch python-srpm-macros-3.13-2.fc41.noarch qt5-srpm-macros-5.15.14-1.fc41.noarch qt6-srpm-macros-6.7.1-1.fc41.noarch readline-8.2-8.fc40.aarch64 redhat-rpm-config-293-1.fc41.noarch rpm-4.19.92-1.fc41.aarch64 rpm-build-4.19.92-1.fc41.aarch64 rpm-build-libs-4.19.92-1.fc41.aarch64 rpm-libs-4.19.92-1.fc41.aarch64 rpm-sequoia-1.6.0-3.fc41.aarch64 rust-srpm-macros-26.3-1.fc41.noarch sed-4.9-1.fc40.aarch64 setup-2.15.0-4.fc41.noarch shadow-utils-4.15.1-5.fc41.aarch64 sqlite-libs-3.46.0-2.fc41.aarch64 systemd-libs-256.1-3.fc41.aarch64 tar-1.35-3.fc40.aarch64 unzip-6.0-63.fc40.aarch64 util-linux-2.40.1-2.fc41.aarch64 util-linux-core-2.40.1-2.fc41.aarch64 which-2.21-41.fc40.aarch64 xxhash-libs-0.8.2-2.fc40.aarch64 xz-5.6.2-1.fc41.aarch64 xz-libs-5.6.2-1.fc41.aarch64 zig-srpm-macros-1-2.fc40.noarch zip-3.0-40.fc40.aarch64 zlib-ng-compat-2.1.7-1.fc41.aarch64 zstd-1.5.6-1.fc41.aarch64 Start: buildsrpm Start: rpmbuild -bs Building target platforms: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1600992000 Wrote: /builddir/build/SRPMS/gloo-0.5.0-20240626.0.git81925d1c.cu12_4.fc41.src.rpm Finish: rpmbuild -bs cp: preserving permissions for ‘/var/lib/copr-rpmbuild/results/chroot_scan/var/lib/mock/fedora-rawhide-aarch64-1719450592.522561/root/var/log’: No such file or directory INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-rawhide-aarch64-1719450592.522561/root/var/log/dnf5.log Finish: buildsrpm INFO: Done(/var/lib/copr-rpmbuild/workspace/workdir-to8tp07_/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-20240626.0.git81925d1c.cu12_4.fc41.src.rpm) Config(fedora-rawhide-aarch64) Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-aarch64-bootstrap-1719450592.522561/root. INFO: reusing tmpfs at /var/lib/mock/fedora-rawhide-aarch64-bootstrap-1719450592.522561/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/fedora-rawhide-aarch64-1719450592.522561/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.92-1.fc41.aarch64 rpm-sequoia-1.6.0-3.fc41.aarch64 dnf5-5.2.3.0-3.fc41.aarch64 dnf5-plugins-5.2.3.0-3.fc41.aarch64 Finish: chroot init Start: build phase for gloo-0.5.0-20240626.0.git81925d1c.cu12_4.fc41.src.rpm Start: build setup for gloo-0.5.0-20240626.0.git81925d1c.cu12_4.fc41.src.rpm Building target platforms: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1600992000 Wrote: /builddir/build/SRPMS/gloo-0.5.0-20240626.0.git81925d1c.cu12_4.fc41.src.rpm Updating and loading repositories: Copr repository 100% | 122.1 KiB/s | 1.8 KiB | 00m00s fedora 100% | 225.1 KiB/s | 8.1 KiB | 00m00s Additional repo copr_rezso_CUDA 100% | 140.3 KiB/s | 1.8 KiB | 00m00s Additional repo http_developer_downloa 100% | 580.4 KiB/s | 3.5 KiB | 00m00s Additional repo http_developer_downloa 100% | 1.1 MiB/s | 3.5 KiB | 00m00s Additional repo http_developer_downloa 100% | 1.7 MiB/s | 3.5 KiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing: cmake aarch64 3.28.3-6.fc41 fedora 28.6 MiB cuda-cudart-devel-12-4 aarch64 12.4.127-1 http_developer_download_nvidia_com_compute_cuda_repos_rhel8_sbsa 6.5 MiB cuda-gcc-12-c++ aarch64 12.3.1-1.fc39 copr_base 57.2 MiB cuda-nvcc-12-4 aarch64 12.4.131-1 http_developer_download_nvidia_com_compute_cuda_repos_rhel8_sbsa 183.5 MiB cuda-nvml-devel-12-4 aarch64 12.4.127-1 http_developer_download_nvidia_com_compute_cuda_repos_rhel8_sbsa 1.5 MiB gcc-c++ aarch64 14.1.1-6.fc41 fedora 35.0 MiB git aarch64 2.45.2-1.fc41 fedora 85.2 KiB hiredis-devel aarch64 1.2.0-2.fc41 fedora 177.4 KiB libnccl aarch64 2.22.3-1+cuda12.5 http_developer_download_nvidia_com_compute_cuda_repos_rhel8_sbsa 233.0 MiB libnccl-devel aarch64 2.22.3-1+cuda12.5 http_developer_download_nvidia_com_compute_cuda_repos_rhel8_sbsa 46.3 KiB libuv-devel aarch64 1:1.48.0-1.fc40 fedora 206.1 KiB rdma-core-devel aarch64 51.0-3.fc41 fedora 618.1 KiB Installing dependencies: annobin-docs noarch 12.59-1.fc41 fedora 96.2 KiB annobin-plugin-gcc aarch64 12.59-1.fc41 fedora 1.1 MiB cmake-data noarch 3.28.3-6.fc41 fedora 8.0 MiB cmake-filesystem aarch64 3.28.3-6.fc41 fedora 0.0 B cmake-rpm-macros noarch 3.28.3-6.fc41 fedora 7.5 KiB cpp aarch64 14.1.1-6.fc41 fedora 31.8 MiB cuda-cccl-12-4 aarch64 12.4.127-1 http_developer_download_nvidia_com_compute_cuda_repos_rhel8_sbsa 14.3 MiB cuda-crt-12-4 aarch64 12.4.131-1 http_developer_download_nvidia_com_compute_cuda_repos_rhel8_sbsa 1.0 MiB cuda-cudart-12-4 aarch64 12.4.127-1 http_developer_download_nvidia_com_compute_cuda_repos_rhel8_sbsa 740.8 KiB cuda-gcc-12 aarch64 12.3.1-1.fc39 copr_base 100.5 MiB cuda-nvvm-12-4 aarch64 12.4.131-1 http_developer_download_nvidia_com_compute_cuda_repos_rhel8_sbsa 56.0 MiB cuda-toolkit-12-4-config-common noarch 12.4.127-1 http_developer_download_nvidia_com_compute_cuda_repos_rhel8_sbsa 0.0 B cuda-toolkit-12-config-common noarch 12.5.39-1 http_developer_download_nvidia_com_compute_cuda_repos_rhel8_sbsa 42.0 B cuda-toolkit-config-common noarch 12.5.39-1 http_developer_download_nvidia_com_compute_cuda_repos_rhel8_sbsa 39.0 B emacs-filesystem noarch 1:30.0-2.fc41 fedora 0.0 B expat aarch64 2.6.2-1.fc41 fedora 536.7 KiB gc aarch64 8.2.2-6.fc40 fedora 850.3 KiB gcc aarch64 14.1.1-6.fc41 fedora 93.6 MiB gcc-plugin-annobin aarch64 14.1.1-6.fc41 fedora 197.1 KiB git-core aarch64 2.45.2-1.fc41 fedora 22.6 MiB git-core-doc noarch 2.45.2-1.fc41 fedora 16.9 MiB glibc-devel aarch64 2.39.9999-99.fc41 copr_base 2.2 MiB groff-base aarch64 1.23.0-6.fc40 fedora 5.4 MiB guile30 aarch64 3.0.9-1.fc41 fedora 53.2 MiB hiredis aarch64 1.2.0-2.fc41 fedora 393.9 KiB infiniband-diags aarch64 51.0-3.fc41 fedora 4.3 MiB isl aarch64 0.16.1-20.fc40 fedora 3.4 MiB jsoncpp aarch64 1.9.5-7.fc40 fedora 335.6 KiB kernel-headers aarch64 6.10.0-0.rc5.43.fc41 fedora 6.2 MiB less aarch64 643-4.fc40 fedora 800.3 KiB libasan aarch64 14.1.1-6.fc41 fedora 1.6 MiB libatomic aarch64 14.1.1-6.fc41 fedora 196.9 KiB libb2 aarch64 0.98.1-11.fc40 fedora 202.1 KiB libcbor aarch64 0.11.0-1.fc40 fedora 201.9 KiB libedit aarch64 3.1-51.20240517cvs.fc41 fedora 343.9 KiB libfido2 aarch64 1.15.0-1.fc41 fedora 342.4 KiB libibumad aarch64 51.0-3.fc41 fedora 196.0 KiB libibverbs aarch64 51.0-3.fc41 fedora 3.9 MiB libmpc aarch64 1.3.1-5.fc40 fedora 280.7 KiB libnl3 aarch64 3.9.0-4.fc41 fedora 1.7 MiB librdmacm aarch64 51.0-3.fc41 fedora 462.1 KiB libstdc++-devel aarch64 14.1.1-6.fc41 fedora 15.1 MiB libubsan aarch64 14.1.1-6.fc41 fedora 539.1 KiB libuv aarch64 1:1.48.0-1.fc40 fedora 650.5 KiB libuv-static aarch64 1:1.48.0-1.fc40 fedora 419.7 KiB libxcrypt-devel aarch64 4.4.36-5.fc40 fedora 30.3 KiB make aarch64 1:4.4.1-6.fc40 fedora 1.8 MiB mpdecimal aarch64 2.5.1-9.fc40 fedora 328.7 KiB ncurses aarch64 6.4-12.20240127.fc40 fedora 1.7 MiB openssh aarch64 9.6p1-1.fc41.9 fedora 2.0 MiB openssh-clients aarch64 9.6p1-1.fc41.9 fedora 3.5 MiB perl-AutoLoader noarch 5.74-509.fc41 fedora 20.5 KiB perl-B aarch64 1.89-509.fc41 fedora 606.1 KiB perl-Carp noarch 1.54-510.fc41 fedora 46.5 KiB perl-Class-Struct noarch 0.68-509.fc41 fedora 25.4 KiB perl-Data-Dumper aarch64 2.189-511.fc41 fedora 263.7 KiB perl-Digest noarch 1.20-510.fc41 fedora 35.2 KiB perl-Digest-MD5 aarch64 2.59-4.fc41 fedora 231.7 KiB perl-DynaLoader aarch64 1.56-509.fc41 fedora 32.1 KiB perl-Encode aarch64 4:3.21-510.fc41 fedora 10.9 MiB perl-Errno aarch64 1.38-509.fc41 fedora 8.4 KiB perl-Error noarch 1:0.17029-15.fc40 fedora 77.2 KiB perl-Exporter noarch 5.78-510.fc41 fedora 54.2 KiB perl-Fcntl aarch64 1.18-509.fc41 fedora 221.1 KiB perl-File-Basename noarch 2.86-509.fc41 fedora 14.0 KiB perl-File-Find noarch 1.44-509.fc41 fedora 41.9 KiB perl-File-Path noarch 2.18-510.fc41 fedora 63.5 KiB perl-File-Temp noarch 1:0.231.100-510.fc41 fedora 162.3 KiB perl-File-stat noarch 1.14-509.fc41 fedora 12.5 KiB perl-FileHandle noarch 2.05-509.fc41 fedora 9.3 KiB perl-Getopt-Long noarch 1:2.58-1.fc41 fedora 144.4 KiB perl-Getopt-Std noarch 1.14-509.fc41 fedora 11.2 KiB perl-Git noarch 2.45.2-1.fc41 fedora 64.0 KiB perl-HTTP-Tiny noarch 0.088-511.fc41 fedora 152.1 KiB perl-IO aarch64 1.55-509.fc41 fedora 319.1 KiB perl-IO-Socket-IP noarch 0.42-511.fc41 fedora 98.6 KiB perl-IO-Socket-SSL noarch 2.085-1.fc40 fedora 685.0 KiB perl-IPC-Open3 noarch 1.22-509.fc41 fedora 22.5 KiB perl-MIME-Base64 aarch64 3.16-510.fc41 fedora 222.0 KiB perl-Mozilla-CA noarch 20240313-1.fc41 fedora 9.5 KiB perl-Net-SSLeay aarch64 1.94-4.fc41 fedora 1.4 MiB perl-POSIX aarch64 2.20-509.fc41 fedora 327.3 KiB perl-PathTools aarch64 3.91-510.fc41 fedora 351.6 KiB perl-Pod-Escapes noarch 1:1.07-510.fc41 fedora 24.9 KiB perl-Pod-Perldoc noarch 3.28.01-511.fc41 fedora 163.1 KiB perl-Pod-Simple noarch 1:3.45-510.fc41 fedora 559.8 KiB perl-Pod-Usage noarch 4:2.03-510.fc41 fedora 84.7 KiB perl-Scalar-List-Utils aarch64 5:1.63-510.fc41 fedora 277.4 KiB perl-SelectSaver noarch 1.02-509.fc41 fedora 2.2 KiB perl-Socket aarch64 4:2.038-510.fc41 fedora 272.0 KiB perl-Storable aarch64 1:3.32-510.fc41 fedora 372.3 KiB perl-Symbol noarch 1.09-509.fc41 fedora 6.8 KiB perl-Term-ANSIColor noarch 5.01-511.fc41 fedora 97.5 KiB perl-Term-Cap noarch 1.18-510.fc41 fedora 29.3 KiB perl-TermReadKey aarch64 2.38-22.fc41 fedora 236.0 KiB perl-Text-ParseWords noarch 3.31-510.fc41 fedora 13.5 KiB perl-Text-Tabs+Wrap noarch 2024.001-510.fc41 fedora 22.5 KiB perl-Time-Local noarch 2:1.350-510.fc41 fedora 68.9 KiB perl-URI noarch 5.28-1.fc41 fedora 240.2 KiB perl-base noarch 2.27-509.fc41 fedora 12.5 KiB perl-constant noarch 1.33-511.fc41 fedora 26.2 KiB perl-if noarch 0.61.000-509.fc41 fedora 5.8 KiB perl-interpreter aarch64 4:5.40.0-509.fc41 fedora 302.3 KiB perl-lib aarch64 0.65-509.fc41 fedora 8.5 KiB perl-libnet noarch 3.15-511.fc41 fedora 289.0 KiB perl-libs aarch64 4:5.40.0-509.fc41 fedora 10.9 MiB perl-locale noarch 1.12-509.fc41 fedora 6.5 KiB perl-mro aarch64 1.29-509.fc41 fedora 209.7 KiB perl-overload noarch 1.37-509.fc41 fedora 71.5 KiB perl-overloading noarch 0.02-509.fc41 fedora 4.8 KiB perl-parent noarch 1:0.241-510.fc41 fedora 9.7 KiB perl-podlators noarch 1:5.01-510.fc41 fedora 308.1 KiB perl-vars noarch 1.05-509.fc41 fedora 3.9 KiB python-pip-wheel noarch 24.0-5.fc41 fedora 1.5 MiB python3 aarch64 3.13.0~b2-4.fc41 fedora 211.8 KiB python3-libs aarch64 3.13.0~b2-4.fc41 fedora 50.1 MiB rhash aarch64 1.4.4-1.fc41 fedora 585.8 KiB tzdata noarch 2024a-8.fc41 fedora 1.7 MiB vim-filesystem noarch 2:9.1.452-1.fc41 fedora 40.0 B Transaction Summary: Installing: 131 packages Total size of inbound packages is 381 MiB. Need to download 381 MiB. After this operation 1 GiB will be used (install 1 GiB, remove 0 B). [ 1/131] git-0:2.45.2-1.fc41.aarch64 100% | 3.7 MiB/s | 52.8 KiB | 00m00s [ 2/131] cmake-0:3.28.3-6.fc41.aarch64 100% | 153.6 MiB/s | 7.7 MiB | 00m00s [ 3/131] libuv-devel-1:1.48.0-1.fc40.a 100% | 8.2 MiB/s | 41.9 KiB | 00m00s [ 4/131] hiredis-devel-0:1.2.0-2.fc41. 100% | 1.0 MiB/s | 53.6 KiB | 00m00s [ 5/131] rdma-core-devel-0:51.0-3.fc41 100% | 42.6 MiB/s | 435.9 KiB | 00m00s [ 6/131] gcc-c++-0:14.1.1-6.fc41.aarch 100% | 156.8 MiB/s | 12.9 MiB | 00m00s [ 7/131] cuda-cudart-devel-12-4-0:12.4 100% | 77.4 MiB/s | 2.0 MiB | 00m00s [ 8/131] cuda-nvml-devel-12-4-0:12.4.1 100% | 24.5 MiB/s | 226.1 KiB | 00m00s [ 9/131] libnccl-devel-0:2.22.3-1+cuda 100% | 3.9 MiB/s | 16.2 KiB | 00m00s [ 10/131] cmake-data-0:3.28.3-6.fc41.no 100% | 151.1 MiB/s | 2.3 MiB | 00m00s [ 11/131] cmake-filesystem-0:3.28.3-6.f 100% | 17.7 MiB/s | 18.1 KiB | 00m00s [ 12/131] expat-0:2.6.2-1.fc41.aarch64 100% | 27.2 MiB/s | 111.4 KiB | 00m00s [ 13/131] jsoncpp-0:1.9.5-7.fc40.aarch6 100% | 14.9 MiB/s | 91.4 KiB | 00m00s [ 14/131] libuv-1:1.48.0-1.fc40.aarch64 100% | 60.9 MiB/s | 249.5 KiB | 00m00s [ 15/131] make-1:4.4.1-6.fc40.aarch64 100% | 114.8 MiB/s | 587.7 KiB | 00m00s [ 16/131] rhash-0:1.4.4-1.fc41.aarch64 100% | 63.8 MiB/s | 195.9 KiB | 00m00s [ 17/131] cuda-nvcc-12-4-0:12.4.131-1.a 100% | 255.2 MiB/s | 63.6 MiB | 00m00s [ 18/131] libmpc-0:1.3.1-5.fc40.aarch64 100% | 2.9 MiB/s | 72.4 KiB | 00m00s [ 19/131] gcc-0:14.1.1-6.fc41.aarch64 100% | 127.3 MiB/s | 33.9 MiB | 00m00s [ 20/131] libstdc++-devel-0:14.1.1-6.fc 100% | 39.7 MiB/s | 2.7 MiB | 00m00s [ 21/131] git-core-doc-0:2.45.2-1.fc41. 100% | 107.7 MiB/s | 2.9 MiB | 00m00s [ 22/131] git-core-0:2.45.2-1.fc41.aarc 100% | 112.9 MiB/s | 4.9 MiB | 00m00s [ 23/131] perl-File-Basename-0:2.86-509 100% | 1.4 MiB/s | 17.3 KiB | 00m00s [ 24/131] perl-Getopt-Long-1:2.58-1.fc4 100% | 12.4 MiB/s | 63.6 KiB | 00m00s [ 25/131] perl-File-Find-0:1.44-509.fc4 100% | 4.1 MiB/s | 25.5 KiB | 00m00s [ 26/131] perl-Git-0:2.45.2-1.fc41.noar 100% | 12.9 MiB/s | 39.5 KiB | 00m00s [ 27/131] perl-IPC-Open3-0:1.22-509.fc4 100% | 5.4 MiB/s | 22.0 KiB | 00m00s [ 28/131] perl-PathTools-0:3.91-510.fc4 100% | 28.3 MiB/s | 86.9 KiB | 00m00s [ 29/131] perl-TermReadKey-0:2.38-22.fc 100% | 5.8 MiB/s | 35.5 KiB | 00m00s [ 30/131] perl-interpreter-4:5.40.0-509 100% | 14.2 MiB/s | 72.6 KiB | 00m00s [ 31/131] perl-lib-0:0.65-509.fc41.aarc 100% | 7.4 MiB/s | 15.1 KiB | 00m00s [ 32/131] hiredis-0:1.2.0-2.fc41.aarch6 100% | 11.9 MiB/s | 48.8 KiB | 00m00s [ 33/131] perl-libs-4:5.40.0-509.fc41.a 100% | 143.1 MiB/s | 2.3 MiB | 00m00s [ 34/131] libuv-static-1:1.48.0-1.fc40. 100% | 9.5 MiB/s | 107.5 KiB | 00m00s [ 35/131] libibumad-0:51.0-3.fc41.aarch 100% | 13.1 MiB/s | 26.9 KiB | 00m00s [ 36/131] libibverbs-0:51.0-3.fc41.aarc 100% | 107.4 MiB/s | 440.0 KiB | 00m00s [ 37/131] infiniband-diags-0:51.0-3.fc4 100% | 36.7 MiB/s | 338.1 KiB | 00m00s [ 38/131] librdmacm-0:51.0-3.fc41.aarch 100% | 17.9 MiB/s | 73.2 KiB | 00m00s [ 39/131] cuda-cudart-12-4-0:12.4.127-1 100% | 57.3 MiB/s | 234.7 KiB | 00m00s [ 40/131] libnccl-0:2.22.3-1+cuda12.5.a 100% | 246.2 MiB/s | 130.5 MiB | 00m01s [ 41/131] cuda-crt-12-4-0:12.4.131-1.aa 100% | 932.6 KiB/s | 111.9 KiB | 00m00s [ 42/131] emacs-filesystem-1:30.0-2.fc4 100% | 1.7 MiB/s | 7.1 KiB | 00m00s [ 43/131] vim-filesystem-2:9.1.452-1.fc 100% | 4.1 MiB/s | 16.9 KiB | 00m00s [ 44/131] cuda-nvvm-12-4-0:12.4.131-1.a 100% | 136.5 MiB/s | 24.8 MiB | 00m00s [ 45/131] guile30-0:3.0.9-1.fc41.aarch6 100% | 102.5 MiB/s | 8.3 MiB | 00m00s [ 46/131] libasan-0:14.1.1-6.fc41.aarch 100% | 19.2 MiB/s | 492.6 KiB | 00m00s [ 47/131] cpp-0:14.1.1-6.fc41.aarch64 100% | 112.6 MiB/s | 10.7 MiB | 00m00s [ 48/131] libatomic-0:14.1.1-6.fc41.aar 100% | 2.8 MiB/s | 40.7 KiB | 00m00s [ 49/131] libubsan-0:14.1.1-6.fc41.aarc 100% | 17.5 MiB/s | 214.4 KiB | 00m00s [ 50/131] less-0:643-4.fc40.aarch64 100% | 34.7 MiB/s | 177.4 KiB | 00m00s [ 51/131] openssh-clients-0:9.6p1-1.fc4 100% | 91.5 MiB/s | 749.6 KiB | 00m00s [ 52/131] perl-Carp-0:1.54-510.fc41.noa 100% | 3.5 MiB/s | 28.7 KiB | 00m00s [ 53/131] perl-Exporter-0:5.78-510.fc41 100% | 7.5 MiB/s | 30.7 KiB | 00m00s [ 54/131] perl-Pod-Usage-4:2.03-510.fc4 100% | 13.0 MiB/s | 39.8 KiB | 00m00s [ 55/131] perl-base-0:2.27-509.fc41.noa 100% | 8.0 MiB/s | 16.4 KiB | 00m00s [ 56/131] perl-Text-ParseWords-0:3.31-5 100% | 4.0 MiB/s | 16.2 KiB | 00m00s [ 57/131] perl-constant-0:1.33-511.fc41 100% | 11.2 MiB/s | 22.8 KiB | 00m00s [ 58/131] perl-overload-0:1.37-509.fc41 100% | 22.3 MiB/s | 45.7 KiB | 00m00s [ 59/131] perl-Error-1:0.17029-15.fc40. 100% | 19.7 MiB/s | 40.4 KiB | 00m00s [ 60/131] perl-Fcntl-0:1.18-509.fc41.aa 100% | 7.4 MiB/s | 30.2 KiB | 00m00s [ 61/131] perl-IO-0:1.55-509.fc41.aarch 100% | 20.1 MiB/s | 82.2 KiB | 00m00s [ 62/131] perl-POSIX-0:2.20-509.fc41.aa 100% | 19.0 MiB/s | 97.2 KiB | 00m00s [ 63/131] perl-Symbol-0:1.09-509.fc41.n 100% | 3.5 MiB/s | 14.4 KiB | 00m00s [ 64/131] perl-Errno-0:1.38-509.fc41.aa 100% | 2.9 MiB/s | 15.1 KiB | 00m00s [ 65/131] perl-Scalar-List-Utils-5:1.63 100% | 17.4 MiB/s | 71.2 KiB | 00m00s [ 66/131] perl-DynaLoader-0:1.56-509.fc 100% | 6.4 MiB/s | 26.2 KiB | 00m00s [ 67/131] perl-vars-0:1.05-509.fc41.noa 100% | 3.2 MiB/s | 13.2 KiB | 00m00s [ 68/131] libnl3-0:3.9.0-4.fc41.aarch64 100% | 67.7 MiB/s | 346.8 KiB | 00m00s [ 69/131] perl-Getopt-Std-0:1.14-509.fc 100% | 2.6 MiB/s | 15.8 KiB | 00m00s [ 70/131] perl-Encode-4:3.21-510.fc41.a 100% | 87.6 MiB/s | 1.7 MiB | 00m00s [ 71/131] gc-0:8.2.2-6.fc40.aarch64 100% | 10.7 MiB/s | 109.7 KiB | 00m00s [ 72/131] libedit-0:3.1-51.20240517cvs. 100% | 9.5 MiB/s | 106.9 KiB | 00m00s [ 73/131] libfido2-0:1.15.0-1.fc41.aarc 100% | 23.7 MiB/s | 97.0 KiB | 00m00s [ 74/131] openssh-0:9.6p1-1.fc41.9.aarc 100% | 83.3 MiB/s | 426.7 KiB | 00m00s [ 75/131] perl-Pod-Perldoc-0:3.28.01-51 100% | 13.9 MiB/s | 85.2 KiB | 00m00s [ 76/131] perl-podlators-1:5.01-510.fc4 100% | 20.3 MiB/s | 125.0 KiB | 00m00s [ 77/131] perl-mro-0:1.29-509.fc41.aarc 100% | 5.8 MiB/s | 29.8 KiB | 00m00s [ 78/131] perl-overloading-0:0.02-509.f 100% | 3.2 MiB/s | 13.1 KiB | 00m00s [ 79/131] perl-File-stat-0:1.14-509.fc4 100% | 5.6 MiB/s | 17.2 KiB | 00m00s [ 80/131] perl-SelectSaver-0:1.02-509.f 100% | 5.8 MiB/s | 11.9 KiB | 00m00s [ 81/131] perl-Socket-4:2.038-510.fc41. 100% | 27.3 MiB/s | 56.0 KiB | 00m00s [ 82/131] perl-locale-0:1.12-509.fc41.n 100% | 6.7 MiB/s | 13.8 KiB | 00m00s [ 83/131] perl-MIME-Base64-0:3.16-510.f 100% | 14.6 MiB/s | 29.9 KiB | 00m00s [ 84/131] perl-Storable-1:3.32-510.fc41 100% | 31.7 MiB/s | 97.4 KiB | 00m00s [ 85/131] perl-parent-1:0.241-510.fc41. 100% | 7.2 MiB/s | 14.8 KiB | 00m00s [ 86/131] libcbor-0:0.11.0-1.fc40.aarch 100% | 10.6 MiB/s | 32.7 KiB | 00m00s [ 87/131] perl-File-Temp-1:0.231.100-51 100% | 14.4 MiB/s | 59.0 KiB | 00m00s [ 88/131] perl-HTTP-Tiny-0:0.088-511.fc 100% | 13.6 MiB/s | 55.7 KiB | 00m00s [ 89/131] groff-base-0:1.23.0-6.fc40.aa 100% | 92.4 MiB/s | 1.1 MiB | 00m00s [ 90/131] perl-Term-ANSIColor-0:5.01-51 100% | 9.3 MiB/s | 47.5 KiB | 00m00s [ 91/131] perl-Pod-Simple-1:3.45-510.fc 100% | 30.4 MiB/s | 217.9 KiB | 00m00s [ 92/131] perl-Term-Cap-0:1.18-510.fc41 100% | 10.7 MiB/s | 21.9 KiB | 00m00s [ 93/131] perl-Class-Struct-0:0.68-509. 100% | 10.9 MiB/s | 22.2 KiB | 00m00s [ 94/131] perl-File-Path-0:2.18-510.fc4 100% | 11.4 MiB/s | 35.0 KiB | 00m00s [ 95/131] perl-IO-Socket-SSL-0:2.085-1. 100% | 37.2 MiB/s | 228.6 KiB | 00m00s [ 96/131] perl-Mozilla-CA-0:20240313-1. 100% | 2.3 MiB/s | 14.0 KiB | 00m00s [ 97/131] perl-Net-SSLeay-0:1.94-4.fc41 100% | 45.8 MiB/s | 375.2 KiB | 00m00s [ 98/131] perl-Pod-Escapes-1:1.07-510.f 100% | 3.2 MiB/s | 19.7 KiB | 00m00s [ 99/131] perl-Time-Local-2:1.350-510.f 100% | 3.7 MiB/s | 34.4 KiB | 00m00s [100/131] perl-Text-Tabs+Wrap-0:2024.00 100% | 4.2 MiB/s | 21.7 KiB | 00m00s [101/131] perl-if-0:0.61.000-509.fc41.n 100% | 4.6 MiB/s | 14.2 KiB | 00m00s [102/131] perl-IO-Socket-IP-0:0.42-511. 100% | 13.6 MiB/s | 41.7 KiB | 00m00s [103/131] perl-URI-0:5.28-1.fc41.noarch 100% | 43.2 MiB/s | 132.7 KiB | 00m00s [104/131] perl-AutoLoader-0:5.74-509.fc 100% | 7.0 MiB/s | 21.4 KiB | 00m00s [105/131] perl-Data-Dumper-0:2.189-511. 100% | 17.9 MiB/s | 55.0 KiB | 00m00s [106/131] ncurses-0:6.4-12.20240127.fc4 100% | 41.0 MiB/s | 420.1 KiB | 00m00s [107/131] perl-libnet-0:3.15-511.fc41.n 100% | 31.2 MiB/s | 127.9 KiB | 00m00s [108/131] perl-B-0:1.89-509.fc41.aarch6 100% | 43.3 MiB/s | 177.4 KiB | 00m00s [109/131] perl-Digest-MD5-0:2.59-4.fc41 100% | 17.5 MiB/s | 35.8 KiB | 00m00s [110/131] perl-FileHandle-0:2.05-509.fc 100% | 7.6 MiB/s | 15.7 KiB | 00m00s [111/131] perl-Digest-0:1.20-510.fc41.n 100% | 8.0 MiB/s | 24.6 KiB | 00m00s [112/131] cuda-gcc-12-c++-0:12.3.1-1.fc 100% | 116.0 MiB/s | 13.6 MiB | 00m00s [113/131] isl-0:0.16.1-20.fc40.aarch64 100% | 7.0 MiB/s | 841.1 KiB | 00m00s [114/131] kernel-headers-0:6.10.0-0.rc5 100% | 174.6 MiB/s | 1.6 MiB | 00m00s [115/131] glibc-devel-0:2.39.9999-99.fc 100% | 43.2 MiB/s | 530.5 KiB | 00m00s [116/131] libxcrypt-devel-0:4.4.36-5.fc 100% | 7.0 MiB/s | 28.6 KiB | 00m00s [117/131] gcc-plugin-annobin-0:14.1.1-6 100% | 12.7 MiB/s | 52.0 KiB | 00m00s [118/131] annobin-plugin-gcc-0:12.59-1. 100% | 104.8 MiB/s | 965.9 KiB | 00m00s [119/131] annobin-docs-0:12.59-1.fc41.n 100% | 29.3 MiB/s | 90.1 KiB | 00m00s [120/131] cmake-rpm-macros-0:3.28.3-6.f 100% | 8.6 MiB/s | 17.6 KiB | 00m00s [121/131] python3-0:3.13.0~b2-4.fc41.aa 100% | 25.8 MiB/s | 26.4 KiB | 00m00s [122/131] libb2-0:0.98.1-11.fc40.aarch6 100% | 11.9 MiB/s | 24.3 KiB | 00m00s [123/131] mpdecimal-0:2.5.1-9.fc40.aarc 100% | 43.4 MiB/s | 88.8 KiB | 00m00s [124/131] python-pip-wheel-0:24.0-5.fc4 100% | 163.9 MiB/s | 1.5 MiB | 00m00s [125/131] tzdata-0:2024a-8.fc41.noarch 100% | 87.3 MiB/s | 714.9 KiB | 00m00s [126/131] python3-libs-0:3.13.0~b2-4.fc 100% | 179.2 MiB/s | 9.0 MiB | 00m00s [127/131] cuda-cccl-12-4-0:12.4.127-1.a 100% | 66.6 MiB/s | 1.9 MiB | 00m00s [128/131] cuda-toolkit-12-config-common 100% | 3.8 MiB/s | 7.8 KiB | 00m00s [129/131] cuda-toolkit-config-common-0: 100% | 3.8 MiB/s | 7.8 KiB | 00m00s [130/131] cuda-toolkit-12-4-config-comm 100% | 206.1 KiB/s | 7.6 KiB | 00m00s [131/131] cuda-gcc-12-0:12.3.1-1.fc39.a 100% | 109.8 MiB/s | 28.7 MiB | 00m00s -------------------------------------------------------------------------------- [131/131] Total 100% | 303.9 MiB/s | 381.4 MiB | 00m01s Running transaction [ 1/133] Verify package files 100% | 86.0 B/s | 131.0 B | 00m02s [ 2/133] Prepare transaction 100% | 1.1 KiB/s | 131.0 B | 00m00s [ 3/133] Installing libmpc-0:1.3.1-5.f 100% | 137.8 MiB/s | 282.2 KiB | 00m00s [ 4/133] Installing expat-0:2.6.2-1.fc 100% | 175.4 MiB/s | 538.8 KiB | 00m00s [ 5/133] Installing cmake-filesystem-0 100% | 3.5 MiB/s | 7.1 KiB | 00m00s [ 6/133] Installing libnl3-0:3.9.0-4.f 100% | 287.8 MiB/s | 1.7 MiB | 00m00s [ 7/133] Installing libibverbs-0:51.0- 100% | 355.3 MiB/s | 3.9 MiB | 00m00s [ 8/133] Installing libibumad-0:51.0-3 100% | 192.2 MiB/s | 196.8 KiB | 00m00s [ 9/133] Installing libuv-1:1.48.0-1.f 100% | 212.7 MiB/s | 653.3 KiB | 00m00s [ 10/133] Installing libuv-static-1:1.4 100% | 205.1 MiB/s | 420.1 KiB | 00m00s [ 11/133] Installing libuv-devel-1:1.48 100% | 102.0 MiB/s | 209.0 KiB | 00m00s [ 12/133] Installing librdmacm-0:51.0-3 100% | 226.6 MiB/s | 464.1 KiB | 00m00s [ 13/133] Installing cpp-0:14.1.1-6.fc4 100% | 278.9 MiB/s | 31.8 MiB | 00m00s [ 14/133] Installing cuda-gcc-12-0:12.3 100% | 326.4 MiB/s | 100.5 MiB | 00m00s [ 15/133] Installing cuda-toolkit-confi 100% | 0.0 B/s | 308.0 B | 00m00s [ 16/133] Installing cuda-toolkit-12-co 100% | 0.0 B/s | 316.0 B | 00m00s [ 17/133] Installing cuda-toolkit-12-4- 100% | 0.0 B/s | 124.0 B | 00m00s [ 18/133] Installing cuda-cudart-12-4-0 100% | 38.1 MiB/s | 742.2 KiB | 00m00s >>> Running post-install scriptlet: cuda-cudart-12-4-0:12.4.127-1.aarch64 >>> Stop post-install scriptlet: cuda-cudart-12-4-0:12.4.127-1.aarch64 [ 19/133] Installing cuda-cccl-12-4-0:1 100% | 169.6 MiB/s | 14.6 MiB | 00m00s [ 20/133] Installing tzdata-0:2024a-8.f 100% | 38.8 MiB/s | 1.9 MiB | 00m00s [ 21/133] Installing python-pip-wheel-0 100% | 509.3 MiB/s | 1.5 MiB | 00m00s [ 22/133] Installing mpdecimal-0:2.5.1- 100% | 161.0 MiB/s | 329.8 KiB | 00m00s [ 23/133] Installing libb2-0:0.98.1-11. 100% | 33.1 MiB/s | 203.2 KiB | 00m00s [ 24/133] Installing python3-libs-0:3.1 100% | 281.9 MiB/s | 50.5 MiB | 00m00s [ 25/133] Installing python3-0:3.13.0~b 100% | 208.5 MiB/s | 213.6 KiB | 00m00s [ 26/133] Installing cmake-rpm-macros-0 100% | 7.9 MiB/s | 8.1 KiB | 00m00s [ 27/133] Installing annobin-docs-0:12. 100% | 31.7 MiB/s | 97.3 KiB | 00m00s [ 28/133] Installing kernel-headers-0:6 100% | 140.6 MiB/s | 6.3 MiB | 00m00s [ 29/133] Installing libxcrypt-devel-0: 100% | 15.9 MiB/s | 32.6 KiB | 00m00s [ 30/133] Installing glibc-devel-0:2.39 100% | 118.1 MiB/s | 2.2 MiB | 00m00s [ 31/133] Installing isl-0:0.16.1-20.fc 100% | 344.6 MiB/s | 3.4 MiB | 00m00s [ 32/133] Installing ncurses-0:6.4-12.2 100% | 129.4 MiB/s | 1.7 MiB | 00m00s >>> Running pre-install scriptlet: groff-base-0:1.23.0-6.fc40.aarch64 >>> Stop pre-install scriptlet: groff-base-0:1.23.0-6.fc40.aarch64 [ 33/133] Installing groff-base-0:1.23. 100% | 179.5 MiB/s | 5.4 MiB | 00m00s >>> Running post-install scriptlet: groff-base-0:1.23.0-6.fc40.aarch64 >>> Stop post-install scriptlet: groff-base-0:1.23.0-6.fc40.aarch64 [ 34/133] Installing perl-Digest-0:1.20 100% | 18.1 MiB/s | 37.0 KiB | 00m00s [ 35/133] Installing perl-B-0:1.89-509. 100% | 198.4 MiB/s | 609.4 KiB | 00m00s [ 36/133] Installing perl-FileHandle-0: 100% | 9.5 MiB/s | 9.8 KiB | 00m00s [ 37/133] Installing perl-Digest-MD5-0: 100% | 114.1 MiB/s | 233.6 KiB | 00m00s [ 38/133] Installing perl-Data-Dumper-0 100% | 129.7 MiB/s | 265.6 KiB | 00m00s [ 39/133] Installing perl-libnet-0:3.15 100% | 95.8 MiB/s | 294.3 KiB | 00m00s [ 40/133] Installing perl-IO-Socket-IP- 100% | 98.1 MiB/s | 100.4 KiB | 00m00s [ 41/133] Installing perl-AutoLoader-0: 100% | 20.5 MiB/s | 20.9 KiB | 00m00s [ 42/133] Installing perl-URI-0:5.28-1. 100% | 61.5 MiB/s | 251.8 KiB | 00m00s [ 43/133] Installing perl-locale-0:1.12 100% | 0.0 B/s | 6.9 KiB | 00m00s [ 44/133] Installing perl-File-Path-0:2 100% | 63.0 MiB/s | 64.5 KiB | 00m00s [ 45/133] Installing perl-Mozilla-CA-0: 100% | 10.2 MiB/s | 10.5 KiB | 00m00s [ 46/133] Installing perl-Time-Local-2: 100% | 68.9 MiB/s | 70.5 KiB | 00m00s [ 47/133] Installing perl-Pod-Escapes-1 100% | 25.3 MiB/s | 25.9 KiB | 00m00s [ 48/133] Installing perl-Text-Tabs+Wra 100% | 23.3 MiB/s | 23.8 KiB | 00m00s [ 49/133] Installing perl-if-0:0.61.000 100% | 6.1 MiB/s | 6.2 KiB | 00m00s [ 50/133] Installing perl-Net-SSLeay-0: 100% | 179.1 MiB/s | 1.4 MiB | 00m00s [ 51/133] Installing perl-IO-Socket-SSL 100% | 168.2 MiB/s | 689.0 KiB | 00m00s [ 52/133] Installing perl-POSIX-0:2.20- 100% | 160.4 MiB/s | 328.5 KiB | 00m00s [ 53/133] Installing perl-Term-ANSIColo 100% | 96.8 MiB/s | 99.1 KiB | 00m00s [ 54/133] Installing perl-Term-Cap-0:1. 100% | 29.8 MiB/s | 30.5 KiB | 00m00s [ 55/133] Installing perl-IPC-Open3-0:1 100% | 22.7 MiB/s | 23.3 KiB | 00m00s [ 56/133] Installing perl-Class-Struct- 100% | 25.3 MiB/s | 25.9 KiB | 00m00s [ 57/133] Installing perl-File-Temp-1:0 100% | 80.1 MiB/s | 164.0 KiB | 00m00s [ 58/133] Installing perl-Pod-Simple-1: 100% | 139.0 MiB/s | 569.4 KiB | 00m00s [ 59/133] Installing perl-HTTP-Tiny-0:0 100% | 150.6 MiB/s | 154.2 KiB | 00m00s [ 60/133] Installing perl-Symbol-0:1.09 100% | 7.0 MiB/s | 7.2 KiB | 00m00s [ 61/133] Installing perl-SelectSaver-0 100% | 2.5 MiB/s | 2.6 KiB | 00m00s [ 62/133] Installing perl-Socket-4:2.03 100% | 133.8 MiB/s | 274.0 KiB | 00m00s [ 63/133] Installing perl-File-stat-0:1 100% | 12.7 MiB/s | 13.1 KiB | 00m00s [ 64/133] Installing perl-podlators-1:5 100% | 152.4 MiB/s | 312.1 KiB | 00m00s [ 65/133] Installing perl-Pod-Perldoc-0 100% | 82.3 MiB/s | 168.6 KiB | 00m00s [ 66/133] Installing perl-Text-ParseWor 100% | 14.2 MiB/s | 14.5 KiB | 00m00s [ 67/133] Installing perl-base-0:2.27-5 100% | 12.6 MiB/s | 12.9 KiB | 00m00s [ 68/133] Installing perl-Fcntl-0:1.18- 100% | 217.0 MiB/s | 222.2 KiB | 00m00s [ 69/133] Installing perl-mro-0:1.29-50 100% | 205.9 MiB/s | 210.8 KiB | 00m00s [ 70/133] Installing perl-overloading-0 100% | 5.4 MiB/s | 5.5 KiB | 00m00s [ 71/133] Installing perl-IO-0:1.55-509 100% | 157.9 MiB/s | 323.4 KiB | 00m00s [ 72/133] Installing perl-Pod-Usage-4:2 100% | 84.2 MiB/s | 86.3 KiB | 00m00s [ 73/133] Installing perl-constant-0:1. 100% | 26.7 MiB/s | 27.4 KiB | 00m00s [ 74/133] Installing perl-Errno-0:1.38- 100% | 8.6 MiB/s | 8.8 KiB | 00m00s [ 75/133] Installing perl-Scalar-List-U 100% | 137.1 MiB/s | 280.7 KiB | 00m00s [ 76/133] Installing perl-vars-0:1.05-5 100% | 4.2 MiB/s | 4.3 KiB | 00m00s [ 77/133] Installing perl-Getopt-Std-0: 100% | 11.5 MiB/s | 11.7 KiB | 00m00s [ 78/133] Installing perl-overload-0:1. 100% | 70.3 MiB/s | 71.9 KiB | 00m00s [ 79/133] Installing perl-MIME-Base64-0 100% | 109.5 MiB/s | 224.3 KiB | 00m00s [ 80/133] Installing perl-parent-1:0.24 100% | 10.2 MiB/s | 10.4 KiB | 00m00s [ 81/133] Installing perl-Storable-1:3. 100% | 182.6 MiB/s | 373.9 KiB | 00m00s [ 82/133] Installing perl-Getopt-Long-1 100% | 71.8 MiB/s | 147.1 KiB | 00m00s [ 83/133] Installing perl-File-Basename 100% | 14.2 MiB/s | 14.6 KiB | 00m00s [ 84/133] Installing perl-Carp-0:1.54-5 100% | 46.5 MiB/s | 47.7 KiB | 00m00s [ 85/133] Installing perl-Exporter-0:5. 100% | 54.2 MiB/s | 55.6 KiB | 00m00s [ 86/133] Installing perl-PathTools-0:3 100% | 173.9 MiB/s | 356.1 KiB | 00m00s [ 87/133] Installing perl-DynaLoader-0: 100% | 31.7 MiB/s | 32.5 KiB | 00m00s [ 88/133] Installing perl-Encode-4:3.21 100% | 363.5 MiB/s | 10.9 MiB | 00m00s [ 89/133] Installing perl-libs-4:5.40.0 100% | 214.9 MiB/s | 11.0 MiB | 00m00s [ 90/133] Installing perl-interpreter-4 100% | 148.4 MiB/s | 304.0 KiB | 00m00s [ 91/133] Installing infiniband-diags-0 100% | 393.9 MiB/s | 4.3 MiB | 00m00s [ 92/133] Installing perl-File-Find-0:1 100% | 41.5 MiB/s | 42.5 KiB | 00m00s [ 93/133] Installing perl-TermReadKey-0 100% | 116.3 MiB/s | 238.2 KiB | 00m00s [ 94/133] Installing perl-lib-0:0.65-50 100% | 8.7 MiB/s | 8.9 KiB | 00m00s [ 95/133] Installing perl-Error-1:0.170 100% | 78.5 MiB/s | 80.4 KiB | 00m00s [ 96/133] Installing libcbor-0:0.11.0-1 100% | 198.5 MiB/s | 203.3 KiB | 00m00s [ 97/133] Installing libfido2-0:1.15.0- 100% | 167.9 MiB/s | 343.9 KiB | 00m00s [ 98/133] Installing openssh-0:9.6p1-1. 100% | 284.6 MiB/s | 2.0 MiB | 00m00s [ 99/133] Installing libedit-0:3.1-51.2 100% | 168.7 MiB/s | 345.5 KiB | 00m00s [100/133] Installing openssh-clients-0: 100% | 219.1 MiB/s | 3.5 MiB | 00m00s >>> Running post-install scriptlet: openssh-clients-0:9.6p1-1.fc41.9.aarch64 >>> Stop post-install scriptlet: openssh-clients-0:9.6p1-1.fc41.9.aarch64 [101/133] Installing gc-0:8.2.2-6.fc40. 100% | 138.8 MiB/s | 852.9 KiB | 00m00s [102/133] Installing guile30-0:3.0.9-1. 100% | 357.7 MiB/s | 53.3 MiB | 00m00s [103/133] Installing make-1:4.4.1-6.fc4 100% | 205.6 MiB/s | 1.9 MiB | 00m00s [104/133] Installing less-0:643-4.fc40. 100% | 196.2 MiB/s | 803.6 KiB | 00m00s [105/133] Installing git-core-0:2.45.2- 100% | 332.7 MiB/s | 22.6 MiB | 00m00s [106/133] Installing git-core-doc-0:2.4 100% | 262.4 MiB/s | 17.1 MiB | 00m00s [107/133] Installing perl-Git-0:2.45.2- 100% | 63.5 MiB/s | 65.0 KiB | 00m00s [108/133] Installing git-0:2.45.2-1.fc4 100% | 42.7 MiB/s | 87.4 KiB | 00m00s [109/133] Installing libubsan-0:14.1.1- 100% | 263.7 MiB/s | 540.0 KiB | 00m00s [110/133] Installing libatomic-0:14.1.1 100% | 193.1 MiB/s | 197.8 KiB | 00m00s [111/133] Installing libasan-0:14.1.1-6 100% | 267.1 MiB/s | 1.6 MiB | 00m00s [112/133] Installing gcc-0:14.1.1-6.fc4 100% | 328.5 MiB/s | 93.6 MiB | 00m00s >>> Running trigger-install scriptlet: redhat-rpm-config-0:293-1.fc41.noarch >>> Stop trigger-install scriptlet: redhat-rpm-config-0:293-1.fc41.noarch [113/133] Installing vim-filesystem-2:9 100% | 2.3 MiB/s | 4.7 KiB | 00m00s [114/133] Installing emacs-filesystem-1 100% | 0.0 B/s | 544.0 B | 00m00s [115/133] Installing cuda-nvvm-12-4-0:1 100% | 239.3 MiB/s | 56.0 MiB | 00m00s [116/133] Installing cuda-crt-12-4-0:12 100% | 247.8 MiB/s | 1.0 MiB | 00m00s [117/133] Installing hiredis-0:1.2.0-2. 100% | 96.6 MiB/s | 395.6 KiB | 00m00s [118/133] Installing libstdc++-devel-0: 100% | 267.2 MiB/s | 15.2 MiB | 00m00s [119/133] Installing gcc-c++-0:14.1.1-6 100% | 296.9 MiB/s | 35.0 MiB | 00m00s [120/133] Installing rhash-0:1.4.4-1.fc 100% | 192.4 MiB/s | 591.1 KiB | 00m00s [121/133] Installing jsoncpp-0:1.9.5-7. 100% | 36.6 MiB/s | 337.2 KiB | 00m00s [122/133] Installing cmake-data-0:3.28. 100% | 85.7 MiB/s | 8.5 MiB | 00m00s [123/133] Installing cmake-0:3.28.3-6.f 100% | 366.3 MiB/s | 28.6 MiB | 00m00s [124/133] Installing libnccl-0:2.22.3-1 100% | 31.8 MiB/s | 233.0 MiB | 00m07s >>> Running post-install scriptlet: libnccl-0:2.22.3-1+cuda12.5.aarch64 >>> Stop post-install scriptlet: libnccl-0:2.22.3-1+cuda12.5.aarch64 [125/133] Installing libnccl-devel-0:2. 100% | 5.8 MiB/s | 47.1 KiB | 00m00s >>> Running post-install scriptlet: libnccl-devel-0:2.22.3-1+cuda12.5.aarch64 >>> Stop post-install scriptlet: libnccl-devel-0:2.22.3-1+cuda12.5.aarch64 [126/133] Installing cuda-nvcc-12-4-0:1 100% | 336.1 MiB/s | 183.5 MiB | 00m01s [127/133] Installing hiredis-devel-0:1. 100% | 88.6 MiB/s | 181.5 KiB | 00m00s [128/133] Installing annobin-plugin-gcc 100% | 60.6 MiB/s | 1.1 MiB | 00m00s >>> Running trigger-install scriptlet: redhat-rpm-config-0:293-1.fc41.noarch >>> Stop trigger-install scriptlet: redhat-rpm-config-0:293-1.fc41.noarch [129/133] Installing gcc-plugin-annobin 100% | 10.2 MiB/s | 198.7 KiB | 00m00s >>> Running trigger-install scriptlet: redhat-rpm-config-0:293-1.fc41.noarch >>> Stop trigger-install scriptlet: redhat-rpm-config-0:293-1.fc41.noarch [130/133] Installing rdma-core-devel-0: 100% | 51.6 MiB/s | 686.4 KiB | 00m00s [131/133] Installing cuda-gcc-12-c++-0: 100% | 310.3 MiB/s | 57.4 MiB | 00m00s [132/133] Installing cuda-cudart-devel- 100% | 241.6 MiB/s | 6.5 MiB | 00m00s warning: posix.fork(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.wait(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead warning: posix.exec(): .fork(), .exec(), .wait() and .redirect2null() are deprecated, use rpm.execute() instead [133/133] Installing cuda-nvml-devel-12 100% | 7.3 MiB/s | 1.5 MiB | 00m00s >>> Running post-transaction scriptlet: cuda-toolkit-12-4-config-common-0:12.4.1 >>> Stop post-transaction scriptlet: cuda-toolkit-12-4-config-common-0:12.4.127- >>> Running trigger-install scriptlet: glibc-common-0:2.39.9999-99.fc41.aarch64 >>> Stop trigger-install scriptlet: glibc-common-0:2.39.9999-99.fc41.aarch64 >>> Running trigger-install scriptlet: info-0:7.1-2.fc40.aarch64 >>> Stop trigger-install scriptlet: info-0:7.1-2.fc40.aarch64 Warning: skipped PGP checks for 15 packages from repositories: copr_base, http_developer_download_nvidia_com_compute_cuda_repos_rhel8_sbsa Finish: build setup for gloo-0.5.0-20240626.0.git81925d1c.cu12_4.fc41.src.rpm Start: rpmbuild gloo-0.5.0-20240626.0.git81925d1c.cu12_4.fc41.src.rpm Building target platforms: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1600992000 Executing(%mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.M4DWXd + umask 022 + cd /builddir/build/BUILD/gloo-0.5.0-build + test -d /builddir/build/BUILD/gloo-0.5.0-build + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w /builddir/build/BUILD/gloo-0.5.0-build + /usr/bin/rm -rf /builddir/build/BUILD/gloo-0.5.0-build + /usr/bin/mkdir -p /builddir/build/BUILD/gloo-0.5.0-build + /usr/bin/mkdir -p /builddir/build/BUILD/gloo-0.5.0-build/SPECPARTS + RPM_EC=0 ++ jobs -p + exit 0 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.UH34hK + umask 022 + cd /builddir/build/BUILD/gloo-0.5.0-build + cd /builddir/build/BUILD/gloo-0.5.0-build + rm -rf gloo + /usr/bin/mkdir -p gloo + cd gloo + /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 81925d1c674c34f0dc34dd9a0f2151c1b6f701eb From https://github.com/facebookincubator/gloo * branch 81925d1c674c34f0dc34dd9a0f2151c1b6f701eb -> FETCH_HEAD + git reset --hard 81925d1c674c34f0dc34dd9a0f2151c1b6f701eb HEAD is now at 81925d1 Fix shadowed variable in gloo/allgatherv.cc + git log --format=fuller commit 81925d1c674c34f0dc34dd9a0f2151c1b6f701eb Author: Richard Barnes AuthorDate: Wed Jun 26 07:22:45 2024 -0700 Commit: Facebook GitHub Bot CommitDate: Wed Jun 26 07:22:45 2024 -0700 Fix shadowed variable in gloo/allgatherv.cc Summary: Our upcoming compiler upgrade will require us not to have shadowed variables. Such variables have a _high_ bug rate and reduce readability, so we would like to avoid them even if the compiler was not forcing us to do so. This codemod attempts to fix an instance of a shadowed variable. Please review with care: if it's failed the result will be a silent bug. **What's a shadowed variable?** Shadowed variables are variables in an inner scope with the same name as another variable in an outer scope. Having the same name for both variables might be semantically correct, but it can make the code confusing to read! It can also hide subtle bugs. This diff fixes such an issue by renaming the variable. - If you approve of this diff, please use the "Accept & Ship" button :-) Reviewed By: dmm-fb Differential Revision: D59008860 fbshipit-source-id: 5966c74486b9f48092eba840a8801db60a4ac326 + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.1Z9KuS + umask 022 + cd /builddir/build/BUILD/gloo-0.5.0-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + 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-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 's|#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)|#if 0|' gloo/common/linux.cc + mkdir build + pushd build ~/build/BUILD/gloo-0.5.0-build/gloo/build ~/build/BUILD/gloo-0.5.0-build/gloo + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + 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-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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer' -DUSE_REDIS=ON -DUSE_RCCL=ON -DUSE_IBVERBS=ON -DUSE_CUDA=ON -DUSE_NCCL=ON -DNVCC_FLAGS_EXTRA=Auto -DCUDA_GENERATION= '-DCUDA_ARCH_BIN=5.2;6.1;7.5;8.6;9.0' -DCUDA_ARCH_PTX=5.2 -DCUDA_PROPAGATE_HOST_FLAGS=OFF -DCUDA_HOST_COMPILER=/usr/bin/cuda-gcc '-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.1.1 -- The C compiler identification is GNU 14.1.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.1") -- 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 "12.4", minimum required is "7.0") -- CUDA detected: 12.4 -- Added CUDA NVCC flags for: compute_52 -- 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) -- Configuring done (1.1s) -- Generating done (0.0s) CMake Warning: Manually-specified variables were not used by the project: CMAKE_CXX_FLAGS_RELEASE CMAKE_C_FLAGS_RELEASE CMAKE_Fortran_FLAGS_RELEASE CMAKE_INSTALL_DO_STRIP CUDA_ARCH_BIN CUDA_GENERATION 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-0.5.0-build/gloo/build + make -j4 [ 6%] Building CXX object gloo/CMakeFiles/gloo.dir/allreduce.cc.o [ 6%] Building CXX object gloo/CMakeFiles/gloo.dir/algorithm.cc.o [ 6%] Building CXX object gloo/CMakeFiles/gloo.dir/allgather.cc.o [ 6%] Building CXX object gloo/CMakeFiles/gloo.dir/allgatherv.cc.o In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allgather.h:11, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allgather.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allgather.cc: In function ‘void gloo::allgather(AllgatherOptions&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allgatherv.h:11, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allgatherv.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allgatherv.cc: In member function ‘void gloo::AllgathervOptions::setOutput(std::unique_ptr, std::vector, size_t)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/allgatherv.cc: In member function ‘void gloo::AllgathervOptions::setOutput(void*, std::vector, size_t)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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))))’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/allgather.cc:41:5: required from here 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:124:28: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 124 | BINARY_COMP_HELPER(Equals, ==) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:119:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 119 | if (x op y) { \ | ^~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/allgatherv.cc:53:3: required from here 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:124:28: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 124 | BINARY_COMP_HELPER(Equals, ==) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:119:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 119 | if (x op y) { \ | ^~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.h:15, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc: In function ‘void gloo::{anonymous}::allreduce(const gloo::detail::AllreduceOptionsImpl&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:160:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 160 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:107:3: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 107 | GLOO_ENFORCE_GT(out.size(), 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:160:33: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Greater((& out)->std::vector >::size(), 0)’ 160 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:107:3: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 107 | GLOO_ENFORCE_GT(out.size(), 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc: In function ‘void gloo::{anonymous}::ring(const gloo::detail::AllreduceOptionsImpl&, ReduceRangeFunction, BroadcastRangeFunction)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:214:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 214 | GLOO_ENFORCE_EQ(numSegments % context->size, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:214:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 214 | GLOO_ENFORCE_EQ(numSegments % context->size, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:215:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 215 | GLOO_ENFORCE_GE(numSegments, context->size * 2); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158: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))’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ~~~~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:215:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 215 | GLOO_ENFORCE_GE(numSegments, context->size * 2); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:278:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare] 278 | for (auto i = 0; i < (numSegments - numSegmentsPerRank + 2); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:306:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare] 306 | if (i < (numSegments - numSegmentsPerRank)) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:314:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 314 | if (i < numSegmentsPerRank) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:361:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare] 361 | for (auto i = 0; i < (numSegments - numSegmentsPerRank + 2); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:378:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare] 378 | if (i < (numSegments - numSegmentsPerRank)) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:386:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 386 | if (i < numSegmentsPerRank) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc: In function ‘std::vector gloo::{anonymous}::computeGroupSizePerStep(size_t, size_t)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:160:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 160 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:399:3: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 399 | GLOO_ENFORCE_GT(n, 1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:160:33: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Greater(n, 1)’ 160 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:399:3: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 399 | GLOO_ENFORCE_GT(n, 1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc: In function ‘void gloo::{anonymous}::bcube(const gloo::detail::AllreduceOptionsImpl&, ReduceRangeFunction, BroadcastRangeFunction)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:526:15: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 526 | if (src == context->rank) { | ~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:539:15: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 539 | if (dst == context->rank) { | ~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:565:16: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 565 | if (peer == context->rank) { | ~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:582:15: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 582 | if (src == context->rank) { | ~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:612:15: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 612 | if (src == context->rank) { | ~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:632:15: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 632 | if (dst == context->rank) { | ~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:645:16: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 645 | if (peer == context->rank) { | ~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:655:16: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 655 | if (peer == context->rank) { | ~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/allreduce.cc:107:3: required from here 160 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:126:29: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 126 | BINARY_COMP_HELPER(Greater, >) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:119:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 119 | if (x op y) { \ | ^~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/allreduce.cc:214:3: required from here 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:124:28: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 124 | BINARY_COMP_HELPER(Equals, ==) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:119:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 119 | if (x op y) { \ | ^~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/allreduce.cc:215:3: required from here 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ~~~~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:127:35: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 127 | BINARY_COMP_HELPER(GreaterEquals, >=) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:119:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 119 | if (x op y) { \ | ^~ [ 7%] Building CXX object gloo/CMakeFiles/gloo.dir/allreduce_local.cc.o [ 9%] 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-0.5.0-build/gloo/gloo/allreduce_local.cc: In instantiation of ‘void gloo::AllreduceLocal::run() [with T = signed char]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:43:1: required from here 41 | #define INSTANTIATE_TEMPLATE(T) template class AllreduceLocal; | ^~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:31:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 31 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:35:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 35 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc: In instantiation of ‘void gloo::AllreduceLocal::run() [with T = unsigned char]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:44:1: required from here 41 | #define INSTANTIATE_TEMPLATE(T) template class AllreduceLocal; | ^~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:31:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 31 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:35:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 35 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc: In instantiation of ‘void gloo::AllreduceLocal::run() [with T = int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:45:1: required from here 41 | #define INSTANTIATE_TEMPLATE(T) template class AllreduceLocal; | ^~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:31:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 31 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:35:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 35 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc: In instantiation of ‘void gloo::AllreduceLocal::run() [with T = long int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:46:1: required from here 41 | #define INSTANTIATE_TEMPLATE(T) template class AllreduceLocal; | ^~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:31:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 31 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:35:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 35 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc: In instantiation of ‘void gloo::AllreduceLocal::run() [with T = long unsigned int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:47:1: required from here 41 | #define INSTANTIATE_TEMPLATE(T) template class AllreduceLocal; | ^~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:31:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 31 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:35:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 35 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc: In instantiation of ‘void gloo::AllreduceLocal::run() [with T = float]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:48:1: required from here 41 | #define INSTANTIATE_TEMPLATE(T) template class AllreduceLocal; | ^~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:31:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 31 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:35:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 35 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc: In instantiation of ‘void gloo::AllreduceLocal::run() [with T = double]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:49:1: required from here 41 | #define INSTANTIATE_TEMPLATE(T) template class AllreduceLocal; | ^~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:31:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 31 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:35:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 35 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc: In instantiation of ‘void gloo::AllreduceLocal::run() [with T = gloo::float16]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:50:1: required from here 41 | #define INSTANTIATE_TEMPLATE(T) template class AllreduceLocal; | ^~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:31:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 31 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:35:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 35 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:36: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] 36 | memcpy(ptrs_[i], ptrs_[0], bytes_); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:11, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/algorithm.h:14, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.h:11, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/types.h:96:19: note: ‘struct gloo::float16’ declared here 96 | struct alignas(2) float16 { | ^~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc: In instantiation of ‘void gloo::AllreduceLocal::run() [with T = char]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:52:1: required from here 41 | #define INSTANTIATE_TEMPLATE(T) template class AllreduceLocal; | ^~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:31:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 31 | for (int i = 1; i < ptrs_.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce_local.cc:35:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 35 | 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:222:11, inlined from ‘gloo::(anonymous namespace)::bcube(gloo::detail::AllreduceOptionsImpl const&, std::function, std::function)’ at /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:501:16, inlined from ‘gloo::(anonymous namespace)::allreduce(gloo::detail::AllreduceOptionsImpl const&)’ at /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:140:12: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:442:10: warning: ‘nextGroup’ may be used uninitialized [-Wmaybe-uninitialized] 442 | struct group { | ^~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc: In function ‘gloo::(anonymous namespace)::allreduce(gloo::detail::AllreduceOptionsImpl const&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:497:20: note: ‘nextGroup’ declared here 497 | 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:222:11, inlined from ‘gloo::(anonymous namespace)::bcube(gloo::detail::AllreduceOptionsImpl const&, std::function, std::function)’ at /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:501:16, inlined from ‘gloo::(anonymous namespace)::allreduce(gloo::detail::AllreduceOptionsImpl const&)’ at /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:140:12: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:442:10: warning: ‘nextGroup.myChunkLength’ may be used uninitialized [-Wmaybe-uninitialized] 442 | struct group { | ^~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc: In function ‘gloo::(anonymous namespace)::allreduce(gloo::detail::AllreduceOptionsImpl const&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/allreduce.cc:497:20: note: ‘nextGroup’ declared here 497 | struct group nextGroup; | ^~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/alltoallv.h:11, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/alltoallv.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/alltoallv.cc: In member function ‘void gloo::AlltoallvOptions::setInput(std::unique_ptr, std::vector, size_t)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/alltoallv.cc: In member function ‘void gloo::AlltoallvOptions::setInput(void*, std::vector, size_t)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/alltoallv.cc: In member function ‘void gloo::AlltoallvOptions::setOutput(std::unique_ptr, std::vector, size_t)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/alltoallv.cc: In member function ‘void gloo::AlltoallvOptions::setOutput(void*, std::vector, size_t)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/alltoallv.cc:52:3: required from here 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:124:28: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 124 | BINARY_COMP_HELPER(Equals, ==) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:119:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 119 | if (x op y) { \ | ^~ [ 12%] Building CXX object gloo/CMakeFiles/gloo.dir/barrier.cc.o [ 14%] Building CXX object gloo/CMakeFiles/gloo.dir/broadcast.cc.o [ 15%] Building CXX object gloo/CMakeFiles/gloo.dir/context.cc.o /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/barrier.cc: In function ‘void gloo::barrier(BarrierOptions&)’: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/broadcast.cc: In function ‘void gloo::broadcast(BroadcastOptions&)’: /builddir/build/BUILD/gloo-0.5.0-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++) { | ~~^~~~~~~~~~ [ 17%] Building CXX object gloo/CMakeFiles/gloo.dir/gather.cc.o In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/context.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/context.cc: In constructor ‘gloo::Context::Context(int, int, int)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/context.cc:26:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 26 | GLOO_ENFORCE_GE(rank, 0); | ^~~~~~~~~~~~~~~ [ 18%] Building CXX object gloo/CMakeFiles/gloo.dir/gatherv.cc.o /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(rank, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ~~~~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/context.cc:26:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 26 | GLOO_ENFORCE_GE(rank, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/context.cc:28:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 28 | GLOO_ENFORCE_GE(size, 1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(size, 1)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ~~~~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/context.cc:28:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 28 | GLOO_ENFORCE_GE(size, 1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/context.cc: In member function ‘int gloo::Context::nextSlot(int)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:160:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 160 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/context.cc:50:3: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 50 | GLOO_ENFORCE_GT(numToSkip, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:160:33: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Greater(numToSkip, 0)’ 160 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/context.cc:50:3: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 50 | GLOO_ENFORCE_GT(numToSkip, 0); | ^~~~~~~~~~~~~~~ [ 20%] Building CXX object gloo/CMakeFiles/gloo.dir/math.cc.o /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/gather.cc: In function ‘void gloo::gather(GatherOptions&)’: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/gatherv.h:11, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/gatherv.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/gatherv.cc: In member function ‘void gloo::GathervOptions::setOutput(std::unique_ptr, std::vector, size_t)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/gatherv.cc:54:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ(elementsPerRank_2.size(), context->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/gatherv.cc:54:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ(elementsPerRank_2.size(), context->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/gatherv.cc:56:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(totalElements * elementSize_2, buf->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/gatherv.cc:56:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 56 | GLOO_ENFORCE_EQ(totalElements * elementSize_2, buf->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/gatherv.cc: In member function ‘void gloo::GathervOptions::setOutput(void*, std::vector, size_t)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/gatherv.cc:68:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 68 | GLOO_ENFORCE_EQ(elementsPerRank_2.size(), context->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/gatherv.cc:68:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 68 | GLOO_ENFORCE_EQ(elementsPerRank_2.size(), context->size); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/gatherv.cc:54:3: required from here 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:124:28: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 124 | BINARY_COMP_HELPER(Equals, ==) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:119:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 119 | if (x op y) { \ | ^~ [ 21%] Building CXX object gloo/CMakeFiles/gloo.dir/reduce.cc.o [ 23%] Building CXX object gloo/CMakeFiles/gloo.dir/scatter.cc.o [ 25%] Building CXX object gloo/CMakeFiles/gloo.dir/types.cc.o In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/reduce.h:14, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/reduce.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/reduce.cc: In function ‘void gloo::reduce(ReduceOptions&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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))’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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))’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158: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))’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ~~~~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/reduce.cc:224:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 224 | if (rank == context->rank) { | ~~~~~^~~~~~~~~~~~~~~~ [ 26%] Building CXX object gloo/CMakeFiles/gloo.dir/common/logging.cc.o /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/reduce.cc:118:3: required from here 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:124:28: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 124 | BINARY_COMP_HELPER(Equals, ==) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:119:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 119 | if (x op y) { \ | ^~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/reduce.cc:119:3: required from here 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ~~~~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:127:35: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 127 | BINARY_COMP_HELPER(GreaterEquals, >=) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:119:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 119 | if (x op y) { \ | ^~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/scatter.h:14, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/scatter.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/scatter.cc: In function ‘void gloo::scatter(ScatterOptions&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/scatter.cc:31:5: required from here 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:124:28: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 124 | BINARY_COMP_HELPER(Equals, ==) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:119:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 119 | if (x op y) { \ | ^~ [ 28%] Building CXX object gloo/CMakeFiles/gloo.dir/common/utils.cc.o [ 29%] Building CXX object gloo/CMakeFiles/gloo.dir/common/linux.cc.o [ 31%] Building CXX object gloo/CMakeFiles/gloo.dir/rendezvous/context.cc.o [ 32%] Building CXX object gloo/CMakeFiles/gloo.dir/rendezvous/file_store.cc.o [ 34%] Building CXX object gloo/CMakeFiles/gloo.dir/rendezvous/hash_store.cc.o /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/linux.cc: In function ‘std::vector > gloo::pciDevices(PCIClassMatch)’: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/linux.cc:31: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/linux.cc: In function ‘std::string gloo::pciPath(const std::string&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:156:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 156 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:156:30: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Less(rv, buf.std::array::size())’ 156 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/linux.cc: In function ‘int gloo::pciDistance(const std::string&, const std::string&)’: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/common/linux.cc:112:3: required from here 156 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:128:26: warning: comparison of integer expressions of different signedness: ‘const long int’ and ‘const long unsigned int’ [-Wsign-compare] 128 | BINARY_COMP_HELPER(Less, <) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:119:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 119 | if (x op y) { \ | ^~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/rendezvous/context.h:17, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/rendezvous/context.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/rendezvous/context.cc: In member function ‘std::shared_ptr gloo::rendezvous::ContextFactory::makeContext(std::shared_ptr&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/rendezvous/context.cc:125:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 125 | GLOO_ENFORCE_LE(addressSize, sendData_[i].size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154: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())’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/rendezvous/context.cc:125:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 125 | GLOO_ENFORCE_LE(addressSize, sendData_[i].size()); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/rendezvous/store.h:15, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/rendezvous/file_store.h:11, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/rendezvous/file_store.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/rendezvous/file_store.cc: In member function ‘std::string gloo::rendezvous::FileStore::realPath(const std::string&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(buf.std::array::data(), ret)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/rendezvous/file_store.cc:90:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 90 | GLOO_ENFORCE_EQ(rv, 0, "rename: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/rendezvous/file_store.cc:90:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 90 | GLOO_ENFORCE_EQ(rv, 0, "rename: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/rendezvous/file_store.cc: In member function ‘virtual std::vector gloo::rendezvous::FileStore::get(const std::string&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:160:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 160 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/rendezvous/file_store.cc:107:3: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 107 | GLOO_ENFORCE_GT(n, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:160:33: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Greater(n, 0)’ 160 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/rendezvous/file_store.cc:107:3: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 107 | GLOO_ENFORCE_GT(n, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/rendezvous/file_store.cc: In member function ‘bool gloo::rendezvous::FileStore::check(const std::vector >&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/rendezvous/file_store.cc:125:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 125 | GLOO_ENFORCE_EQ(errno, ENOENT); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((*(const int*)__errno_location()), 2)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/rendezvous/file_store.cc:125:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 125 | GLOO_ENFORCE_EQ(errno, ENOENT); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/rendezvous/file_store.cc:107:3: required from here 160 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:126:29: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 126 | BINARY_COMP_HELPER(Greater, >) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:119:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 119 | if (x op y) { \ | ^~ [ 35%] Building CXX object gloo/CMakeFiles/gloo.dir/rendezvous/prefix_store.cc.o [ 37%] Building CXX object gloo/CMakeFiles/gloo.dir/rendezvous/store.cc.o [ 39%] Building CXX object gloo/CMakeFiles/gloo.dir/rendezvous/redis_store.cc.o [ 40%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/address.cc.o [ 42%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/buffer.cc.o [ 43%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/context.cc.o [ 45%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/device.cc.o In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/rendezvous/store.h:15, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/rendezvous/redis_store.h:21, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/rendezvous/redis_store.cc:9: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(reply->redisReply::type, 3)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(reply->redisReply::integer, 1)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/rendezvous/redis_store.cc: In member function ‘virtual std::vector gloo::rendezvous::RedisStore::get(const std::string&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(reply->redisReply::type, 1)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/rendezvous/redis_store.cc: In member function ‘bool gloo::rendezvous::RedisStore::check(const std::vector >&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(reply->redisReply::type, 3)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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()); | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ [ 46%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/pair.cc.o [ 48%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/unbound_buffer.cc.o [ 50%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/address.cc.o [ 51%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/buffer.cc.o In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/address.cc:16: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/address.cc: In constructor ‘gloo::transport::tcp::Address::Address(const std::vector&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/address.cc:46:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 46 | GLOO_ENFORCE_EQ(sizeof(impl_), bytes.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/address.cc:46:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 46 | GLOO_ENFORCE_EQ(sizeof(impl_), bytes.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/address.cc:98:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 98 | GLOO_ENFORCE_NE(rv, -1, "getsockname: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/address.cc:98:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 98 | GLOO_ENFORCE_NE(rv, -1, "getsockname: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/address.cc:108:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 108 | GLOO_ENFORCE_NE(rv, -1, "getpeername: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/address.cc:108:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 108 | GLOO_ENFORCE_NE(rv, -1, "getpeername: ", strerror(errno)); | ^~~~~~~~~~~~~~~ [ 53%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/context.cc.o [ 54%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/device.cc.o In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/device.h:14, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/device.h:18, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/buffer.h:19, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/buffer.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/buffer.cc: In member function ‘virtual void gloo::transport::tcp::Buffer::waitSend()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/buffer.cc:92:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 92 | GLOO_ENFORCE_GE(1, sendCompletions_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158: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_)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ~~~~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/buffer.cc:92:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 92 | GLOO_ENFORCE_GE(1, sendCompletions_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:160:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 160 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/buffer.cc:104:7: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 104 | GLOO_ENFORCE_GT(sendPending_, 0, "No send to wait for"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:160: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)’ 160 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/buffer.cc:104:7: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 104 | GLOO_ENFORCE_GT(sendPending_, 0, "No send to wait for"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/buffer.cc:128:3: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 128 | GLOO_ENFORCE_LE(offset + length, size_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/buffer.cc:128:3: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 128 | GLOO_ENFORCE_LE(offset + length, size_); | ^~~~~~~~~~~~~~~ [ 56%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/error.cc.o In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/context.h:20, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/context.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/context.cc: In member function ‘std::vector gloo::transport::tcp::Context::getConnectedPeerRanks() const’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/context.cc:140:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 140 | GLOO_ENFORCE(size == pairs_.size()); | ~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:44:11: note: in definition of macro ‘GLOO_ENFORCE’ 44 | if (!(condition)) { \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/context.cc: In member function ‘std::vector gloo::transport::tcp::Context::getUnConnectedPeerRanks() const’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/context.cc:151:21: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 151 | GLOO_ENFORCE(size == pairs_.size()); | ~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:44:11: note: in definition of macro ‘GLOO_ENFORCE’ 44 | if (!(condition)) { \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/context.cc: In member function ‘void gloo::transport::tcp::Context::printConnectivityInfo() const’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/context.cc:170:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 170 | for (int i = 0; i < unConnectedPeers.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/context.cc:171:13: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 171 | if (i != unConnectedPeers.size() - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/device.h:14, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/device.h:18, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/device.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/device.cc: In function ‘void gloo::transport::tcp::lookupAddrForIface(attr&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/device.cc:32:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 32 | GLOO_ENFORCE_NE(rv, -1, strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/device.cc:32:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 32 | GLOO_ENFORCE_NE(rv, -1, strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/device.cc: In function ‘void gloo::transport::tcp::lookupAddrForHostname(attr&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/device.cc:101:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 101 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/device.cc:101:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 101 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/device.cc: In function ‘gloo::transport::tcp::attr gloo::transport::tcp::CreateDeviceAttr(const attr&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/device.cc:156:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 156 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/device.cc:156:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 156 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/device.cc: In function ‘const std::string gloo::transport::tcp::sockaddrToInterfaceName(const attr&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/device.cc:184:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 184 | GLOO_ENFORCE_NE(rv, -1, strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/device.cc:184:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 184 | GLOO_ENFORCE_NE(rv, -1, strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/device.cc:302:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 302 | GLOO_ENFORCE_NE(rv, 0, "Cannot connect to self"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, 0)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/device.cc:302:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 302 | GLOO_ENFORCE_NE(rv, 0, "Cannot connect to self"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/context.cc: In constructor ‘gloo::transport::tcp::Rank::Rank(const std::vector&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/context.cc:308:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 308 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((pairIdChunkSz % sizeof (ssize_t)), 0)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/context.cc:308:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 308 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/transport/tcp/context.cc:308:3: required from here 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:124:28: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 124 | BINARY_COMP_HELPER(Equals, ==) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:119:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 119 | if (x op y) { \ | ^~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/device.cc:22: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/helpers.h: In instantiation of ‘void gloo::transport::tcp::WriteValueOperation::handleEvents(int) [with T = long int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/helpers.h:128:8: required from here 128 | void handleEvents(int events) override { | ^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/helpers.h:141:12: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘long unsigned int’ [-Wsign-compare] 141 | 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-0.5.0-build/gloo/gloo/transport/tcp/loop.cc:18: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/loop.cc: In constructor ‘gloo::transport::tcp::Deferrables::Deferrables()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/transport/tcp/loop.cc: In member function ‘void gloo::transport::tcp::Deferrables::defer(function_t)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/transport/tcp/loop.cc: In member function ‘virtual void gloo::transport::tcp::Deferrables::handleEvents(int)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/transport/tcp/loop.cc: In constructor ‘gloo::transport::tcp::Loop::Loop()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:152: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)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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)); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/listener.cc:18: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/helpers.h: In instantiation of ‘void gloo::transport::tcp::ReadValueOperation::handleEvents(int) [with T = long int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/helpers.h:54:8: required from here 54 | void handleEvents(int events) override { | ^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/helpers.h:67:12: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘long unsigned int’ [-Wsign-compare] 67 | if (rv < sizeof(t_)) { | ~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/loop.cc: In member function ‘void gloo::transport::tcp::Loop::registerDescriptor(int, int, gloo::transport::tcp::Handler*)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/loop.cc:128:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 128 | GLOO_ENFORCE_NE(rv, -1, "epoll_ctl: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/loop.cc:128:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 128 | GLOO_ENFORCE_NE(rv, -1, "epoll_ctl: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/loop.cc:133:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 133 | GLOO_ENFORCE_NE(rv, -1, "epoll_ctl: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/loop.cc:133:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 133 | GLOO_ENFORCE_NE(rv, -1, "epoll_ctl: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/loop.cc: In member function ‘void gloo::transport::tcp::Loop::run()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/loop.cc:165:5: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 165 | GLOO_ENFORCE_NE(nfds, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(nfds, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/loop.cc:165:5: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 165 | 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 [ 64%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/tcp/unbound_buffer.cc.o [ 65%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/ibverbs/address.cc.o In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/socket.cc:16: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/transport/tcp/socket.cc: In member function ‘void gloo::transport::tcp::Socket::reuseAddr(bool)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/transport/tcp/socket.cc: In member function ‘void gloo::transport::tcp::Socket::noDelay(bool)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/transport/tcp/socket.cc: In member function ‘void gloo::transport::tcp::Socket::block(bool)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/transport/tcp/socket.cc: In member function ‘void gloo::transport::tcp::Socket::configureTimeout(int, std::chrono::milliseconds)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/transport/tcp/socket.cc: In member function ‘void gloo::transport::tcp::Socket::bind(const sockaddr*, socklen_t)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/transport/tcp/socket.cc: In member function ‘void gloo::transport::tcp::Socket::listen(int)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/transport/tcp/socket.cc: In member function ‘void gloo::transport::tcp::Socket::connect(const sockaddr*, socklen_t)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.h:30, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.cc: In member function ‘virtual void gloo::transport::tcp::Pair::connect(const std::vector&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/transport/tcp/pair.cc: In function ‘void gloo::transport::tcp::setSocketBlocking(int, bool)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.cc:175:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 175 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.cc:175:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 175 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.cc:182:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 182 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.cc:182:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 182 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.cc:420:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 420 | GLOO_ENFORCE_LE(op.preamble.roffset + op.preamble.length, op.buf->size_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.cc:420:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 420 | GLOO_ENFORCE_LE(op.preamble.roffset + op.preamble.length, op.buf->size_); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/address.cc:15: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/address.cc: In constructor ‘gloo::transport::ibverbs::Address::Address(const std::vector&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/transport/tcp/pair.cc: In member function ‘virtual void gloo::transport::tcp::Pair::handleEvents(int)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.cc:655:3: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 655 | GLOO_ENFORCE_LE(state_, CONNECTED); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154: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)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.cc:655:3: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 655 | GLOO_ENFORCE_LE(state_, CONNECTED); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.cc: In member function ‘virtual void gloo::transport::tcp::Pair::verifyConnected()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.cc:777:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 777 | GLOO_ENFORCE_GE( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158: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)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ~~~~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.cc:777:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 777 | GLOO_ENFORCE_GE( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.cc: In member function ‘void gloo::transport::tcp::Pair::send(gloo::transport::tcp::Op&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.cc:844:5: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 844 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.cc:844:5: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 844 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.cc:846:5: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 846 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.cc:846:5: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 846 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.cc:898:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 898 | GLOO_ENFORCE_LE(nbytes, tbuf->size - offset); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154: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))’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.cc:898:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 898 | GLOO_ENFORCE_LE(nbytes, tbuf->size - offset); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.cc:931:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 931 | GLOO_ENFORCE_LE(nbytes, tbuf->size - offset); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154: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))’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.cc:931:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 931 | GLOO_ENFORCE_LE(nbytes, tbuf->size - offset); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.cc:960:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 960 | GLOO_ENFORCE_LE(nbytes, tbuf->size - offset); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154: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))’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/tcp/pair.cc:960:5: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 960 | GLOO_ENFORCE_LE(nbytes, tbuf->size - offset); | ^~~~~~~~~~~~~~~ [ 67%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/ibverbs/buffer.cc.o [ 68%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/ibverbs/context.cc.o [ 70%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/ibverbs/device.cc.o In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/device.h:14, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.h:18, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/buffer.h:20, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/buffer.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/buffer.cc: In destructor ‘virtual gloo::transport::ibverbs::Buffer::~Buffer()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/buffer.cc:63:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 63 | GLOO_ENFORCE_EQ(sendPending_, 0, "Destructing buffer expecting completions"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals, int>(((gloo::transport::ibverbs::Buffer*)this)->gloo::transport::ibverbs::Buffer::sendPending_, 0)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/buffer.cc:63:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 63 | GLOO_ENFORCE_EQ(sendPending_, 0, "Destructing buffer expecting completions"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:137:7: warning: ‘throw’ will always call ‘terminate’ [-Wterminate] 137 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 138 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 139 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 140 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 141 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/buffer.cc:63:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 63 | GLOO_ENFORCE_EQ(sendPending_, 0, "Destructing buffer expecting completions"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:137:7: note: in C++11 destructors default to ‘noexcept’ 137 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 138 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 139 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 140 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 141 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/buffer.cc:63:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 63 | GLOO_ENFORCE_EQ(sendPending_, 0, "Destructing buffer expecting completions"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/buffer.cc: In member function ‘virtual void gloo::transport::ibverbs::Buffer::waitSend()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:160:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 160 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/buffer.cc:124:7: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 124 | GLOO_ENFORCE_GT(sendPending_, 0, "No send to wait for"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:160: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)’ 160 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/buffer.cc:124:7: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 124 | GLOO_ENFORCE_GT(sendPending_, 0, "No send to wait for"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:160:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 160 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/buffer.cc:145:7: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 145 | GLOO_ENFORCE_GT(sendPending_, 0, "No send to wait for"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:160: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)’ 160 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/buffer.cc:145:7: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 145 | GLOO_ENFORCE_GT(sendPending_, 0, "No send to wait for"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/buffer.cc:174:3: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 174 | GLOO_ENFORCE_LE(offset + length, size_); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/buffer.cc:174:3: note: in expansion of macro ‘GLOO_ENFORCE_LE’ 174 | GLOO_ENFORCE_LE(offset + length, size_); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/device.h:14, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.h:18, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:9: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:110:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 110 | GLOO_ENFORCE_EQ(rv, 0, "ibv_query_device: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:110:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 110 | GLOO_ENFORCE_EQ(rv, 0, "ibv_query_device: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:114:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 114 | GLOO_ENFORCE_EQ(rv, 0, "ibv_query_port: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:114:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 114 | GLOO_ENFORCE_EQ(rv, 0, "ibv_query_port: ", strerror(errno)); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc: In destructor ‘virtual gloo::transport::ibverbs::Device::~Device()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:137:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 137 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:137:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 137 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:140:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 140 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:140:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 140 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:143:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 143 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:143:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 143 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:137:7: warning: ‘throw’ will always call ‘terminate’ [-Wterminate] 137 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 138 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 139 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 140 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 141 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:137:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 137 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:137:7: note: in C++11 destructors default to ‘noexcept’ 137 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 138 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 139 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 140 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 141 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:137:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 137 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:137:7: warning: ‘throw’ will always call ‘terminate’ [-Wterminate] 137 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 138 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 139 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 140 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 141 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:140:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 140 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:137:7: note: in C++11 destructors default to ‘noexcept’ 137 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 138 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 139 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 140 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 141 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:140:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 140 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:137:7: warning: ‘throw’ will always call ‘terminate’ [-Wterminate] 137 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 138 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 139 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 140 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 141 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:143:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 143 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:137:7: note: in C++11 destructors default to ‘noexcept’ 137 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 138 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 139 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 140 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 141 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:143:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 143 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc: In member function ‘void gloo::transport::ibverbs::Device::loop()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:180:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 180 | GLOO_ENFORCE_NE(flags, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(flags, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:180:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 180 | GLOO_ENFORCE_NE(flags, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:183:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 183 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:183:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 183 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:194:5: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 194 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:194:5: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 194 | GLOO_ENFORCE_NE(rv, -1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:203:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 203 | GLOO_ENFORCE_EQ(rv, 0, "ibv_get_cq_event"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.cc:203:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 203 | GLOO_ENFORCE_EQ(rv, 0, "ibv_get_cq_event"); | ^~~~~~~~~~~~~~~ [ 71%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/ibverbs/memory_region.cc.o [ 73%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/ibverbs/pair.cc.o In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/device.h:14, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.h:18, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/memory_region.h:11, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/memory_region.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/memory_region.cc: In destructor ‘gloo::transport::ibverbs::MemoryRegion::~MemoryRegion()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:137:7: warning: ‘throw’ will always call ‘terminate’ [-Wterminate] 137 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 138 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 139 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 140 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 141 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:137:7: note: in C++11 destructors default to ‘noexcept’ 137 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 138 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 139 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 140 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 141 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/memory_region.cc:37:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 37 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/device.h:14, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/device.h:18, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.h:23, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc: In constructor ‘gloo::transport::ibverbs::Pair::Pair(const std::shared_ptr&, std::chrono::milliseconds)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:51:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 51 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:51:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 51 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:92:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 92 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:92:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 92 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:98:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 98 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:98:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 98 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc: In destructor ‘virtual gloo::transport::ibverbs::Pair::~Pair()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:125:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 125 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:125:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 125 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:128:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 128 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:128:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 128 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:137:7: warning: ‘throw’ will always call ‘terminate’ [-Wterminate] 137 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 138 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 139 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 140 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 141 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:125:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 125 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:137:7: note: in C++11 destructors default to ‘noexcept’ 137 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 138 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 139 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 140 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 141 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:125:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 125 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:137:7: warning: ‘throw’ will always call ‘terminate’ [-Wterminate] 137 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 138 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 139 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 140 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 141 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:128:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 128 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:137:7: note: in C++11 destructors default to ‘noexcept’ 137 | throw EnforceNotMet( \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 138 | __FILE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 139 | __LINE__, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 140 | expr, \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 141 | r.get_message_and_free(MakeString(__VA_ARGS__))); \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:128:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 128 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc: In member function ‘virtual void gloo::transport::ibverbs::Pair::connect(const std::vector&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc: In member function ‘void gloo::transport::ibverbs::Pair::sendMemoryRegion(ibv_mr*, int)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:245:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 245 | GLOO_ENFORCE_EQ(mappedSendRegions_.count(slot), 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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::mappedSendRegions_.std::map >::count(slot), 0)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:245:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 245 | GLOO_ENFORCE_EQ(mappedSendRegions_.count(slot), 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:313:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 313 | GLOO_ENFORCE_EQ(sendCompletionHandlers_.count(slot), 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:313:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 313 | GLOO_ENFORCE_EQ(sendCompletionHandlers_.count(slot), 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:322:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 322 | GLOO_ENFORCE_EQ(recvCompletionHandlers_.count(slot), 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:322:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 322 | GLOO_ENFORCE_EQ(recvCompletionHandlers_.count(slot), 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc: In member function ‘void gloo::transport::ibverbs::Pair::handleCompletionEvent()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:375:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 375 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:375:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 375 | GLOO_ENFORCE_EQ(rv, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc: In member function ‘void gloo::transport::ibverbs::Pair::pollCompletions()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:396:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 396 | GLOO_ENFORCE_GE(nwc, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(nwc, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ~~~~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:396:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 396 | GLOO_ENFORCE_GE(nwc, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:405:25: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::array::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 405 | if (nwc == 0 || nwc < wc.size()) { | ~~~~^~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc: In member function ‘void gloo::transport::ibverbs::Pair::handleCompletion(ibv_wc*)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:417:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 417 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(wc->ibv_wc::status, IBV_WC_SUCCESS)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:417:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 417 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:436:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 436 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(wc->ibv_wc::status, IBV_WC_SUCCESS)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:436:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 436 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:461:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 461 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(wc->ibv_wc::status, IBV_WC_SUCCESS)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:461:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 461 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:481:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 481 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(wc->ibv_wc::status, IBV_WC_SUCCESS)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:481:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 481 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:160:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 160 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:489:5: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 489 | GLOO_ENFORCE_GT(mappedSendRegions_.size(), 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:160:33: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Greater(((gloo::transport::ibverbs::Pair*)this)->gloo::transport::ibverbs::Pair::mappedSendRegions_.std::map >::size(), 0)’ 160 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:489:5: note: in expansion of macro ‘GLOO_ENFORCE_GT’ 489 | GLOO_ENFORCE_GT(mappedSendRegions_.size(), 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:490:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 490 | GLOO_ENFORCE_EQ(mappedSendRegions_.count(slot), 1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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::mappedSendRegions_.std::map >::count(((std::map >::key_type)slot)), 1)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:490:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 490 | GLOO_ENFORCE_EQ(mappedSendRegions_.count(slot), 1); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc: In member function ‘void gloo::transport::ibverbs::Pair::send(gloo::transport::ibverbs::Buffer*, size_t, size_t, size_t)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:513:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 513 | GLOO_ENFORCE_NE(peer, (const struct ibv_mr*)nullptr); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(peer, 0)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:513:3: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 513 | GLOO_ENFORCE_NE(peer, (const struct ibv_mr*)nullptr); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:245:3: required from here 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:124:28: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 124 | BINARY_COMP_HELPER(Equals, ==) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:119:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 119 | if (x op y) { \ | ^~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/transport/ibverbs/pair.cc:489:5: required from here 160 | GLOO_ENFORCE_THAT_IMPL(Greater((x), (y)), #x " > " #y, __VA_ARGS__) | ~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:126:29: warning: comparison of integer expressions of different signedness: ‘const long unsigned int’ and ‘const int’ [-Wsign-compare] 126 | BINARY_COMP_HELPER(Greater, >) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:119:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 119 | if (x op y) { \ | ^~ [ 75%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/uv/address.cc.o [ 76%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/uv/device.cc.o [ 78%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/uv/context.cc.o In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/uv/address.cc:15: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/uv/address.cc: In constructor ‘gloo::transport::uv::Address::Address(const std::vector&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/transport/uv/address.cc: In member function ‘virtual std::string gloo::transport::uv::Address::str() const’: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/transport/uv/device.cc: In function ‘bool gloo::transport::uv::{anonymous}::lookupAddrForIface(gloo::transport::uv::attr*)’: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/context.h:21, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/device.h:14, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/uv/device.h:20, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/uv/device.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/uv/device.cc: In function ‘void gloo::transport::uv::{anonymous}::lookupAddrForHostname(gloo::transport::uv::attr&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:152:35: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::NotEquals(rv, -1)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/transport/uv/device.cc: In function ‘std::shared_ptr gloo::transport::uv::CreateDevice(attr)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(rv, 0)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/transport/uv/device.cc: In constructor ‘gloo::transport::uv::Device::Device(const gloo::transport::uv::attr&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/uv/device.cc:183:7: warning: unused variable ‘rv’ [-Wunused-variable] 183 | int rv; | ^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/uv/device.cc: In member function ‘void gloo::transport::uv::Device::connect(const gloo::transport::uv::Address&, const gloo::transport::uv::Address&, std::chrono::milliseconds, ConnectCallback)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/uv/device.cc:264:16: warning: unused variable ‘addrlen’ [-Wunused-variable] 264 | const auto addrlen = sizeof(struct sockaddr_in); | ^~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/uv/device.cc:272:16: warning: unused variable ‘addrlen’ [-Wunused-variable] 272 | const auto addrlen = sizeof(struct sockaddr_in6); | ^~~~~~~ [ 79%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/uv/libuv.cc.o [ 81%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/uv/pair.cc.o [ 82%] Building CXX object gloo/CMakeFiles/gloo.dir/transport/uv/unbound_buffer.cc.o In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/uv/pair.h:31, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/uv/pair.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/uv/pair.cc: In member function ‘virtual void gloo::transport::uv::Pair::connect(const std::vector&)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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))’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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))’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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))’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ~~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/transport/uv/pair.cc: In member function ‘void gloo::transport::uv::Pair::closeWhileHoldingPairLock()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:152:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:152: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)’ 152 | GLOO_ENFORCE_THAT_IMPL(NotEquals((x), (y)), #x " != " #y, __VA_ARGS__) | ~~~~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/uv/pair.cc:553:7: note: in expansion of macro ‘GLOO_ENFORCE_NE’ 553 | GLOO_ENFORCE_NE( | ^~~~~~~~~~~~~~~ [ 84%] Linking CXX shared library libgloo.so [ 84%] Built target gloo [ 85%] Building NVCC (Device) object gloo/CMakeFiles/gloo_cuda.dir/gloo_cuda_generated_cuda.cu.o [ 87%] 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 [ 92%] Building CXX object gloo/CMakeFiles/gloo_cuda.dir/cuda_allreduce_halving_doubling.cc.o [ 92%] Building CXX object gloo/CMakeFiles/gloo_cuda.dir/cuda_allreduce_ring.cc.o [ 95%] Building CXX object gloo/CMakeFiles/gloo_cuda.dir/cuda_allreduce_bcube.cc.o [ 95%] Building CXX object gloo/CMakeFiles/gloo_cuda.dir/cuda_allreduce_local.cc.o In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/algorithm.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.h:11, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In function ‘int gloo::getCurrentGPUID()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:41:3: note: in expansion of macro ‘CUDA_CHECK’ 41 | CUDA_CHECK(cudaGetDevice(&id)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:41:3: note: in expansion of macro ‘CUDA_CHECK’ 41 | CUDA_CHECK(cudaGetDevice(&id)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In function ‘int gloo::getGPUIDForPointer(const void*)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:47:3: note: in expansion of macro ‘CUDA_CHECK’ 47 | CUDA_CHECK(cudaPointerGetAttributes(&attr, ptr)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:47:3: note: in expansion of macro ‘CUDA_CHECK’ 47 | CUDA_CHECK(cudaPointerGetAttributes(&attr, ptr)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In function ‘int gloo::getDeviceCount()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:53:3: note: in expansion of macro ‘CUDA_CHECK’ 53 | CUDA_CHECK(cudaGetDeviceCount(&count)); | ^~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/algorithm.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.h:11, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In function ‘int gloo::getCurrentGPUID()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:41:3: note: in expansion of macro ‘CUDA_CHECK’ 41 | CUDA_CHECK(cudaGetDevice(&id)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:41:3: note: in expansion of macro ‘CUDA_CHECK’ 41 | CUDA_CHECK(cudaGetDevice(&id)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In function ‘int gloo::getGPUIDForPointer(const void*)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:47:3: note: in expansion of macro ‘CUDA_CHECK’ 47 | CUDA_CHECK(cudaPointerGetAttributes(&attr, ptr)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:47:3: note: in expansion of macro ‘CUDA_CHECK’ 47 | CUDA_CHECK(cudaPointerGetAttributes(&attr, ptr)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In function ‘int gloo::getDeviceCount()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:53:3: note: in expansion of macro ‘CUDA_CHECK’ 53 | CUDA_CHECK(cudaGetDeviceCount(&count)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:53:3: note: in expansion of macro ‘CUDA_CHECK’ 53 | CUDA_CHECK(cudaGetDeviceCount(&count)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In destructor ‘gloo::CudaDeviceGuard::~CudaDeviceGuard()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:103:5: note: in expansion of macro ‘CUDA_CHECK’ 103 | CUDA_CHECK(cudaSetDevice(previous_)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:103:5: note: in expansion of macro ‘CUDA_CHECK’ 103 | CUDA_CHECK(cudaSetDevice(previous_)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In constructor ‘gloo::CudaDeviceScope::CudaDeviceScope(int)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:113:5: note: in expansion of macro ‘CUDA_CHECK’ 113 | CUDA_CHECK(cudaSetDevice(device)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:113:5: note: in expansion of macro ‘CUDA_CHECK’ 113 | CUDA_CHECK(cudaSetDevice(device)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In member function ‘CUstream_st* gloo::CudaDeviceStreams::operator[](int)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:156:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 156 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:155:5: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 155 | GLOO_ENFORCE_LT(i, streams_.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:156: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())’ 156 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:155:5: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 155 | GLOO_ENFORCE_LT(i, streams_.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:53:3: note: in expansion of macro ‘CUDA_CHECK’ 53 | CUDA_CHECK(cudaGetDeviceCount(&count)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In destructor ‘gloo::CudaDeviceGuard::~CudaDeviceGuard()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:103:5: note: in expansion of macro ‘CUDA_CHECK’ 103 | CUDA_CHECK(cudaSetDevice(previous_)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:103:5: note: in expansion of macro ‘CUDA_CHECK’ 103 | CUDA_CHECK(cudaSetDevice(previous_)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In constructor ‘gloo::CudaDeviceScope::CudaDeviceScope(int)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:113:5: note: in expansion of macro ‘CUDA_CHECK’ 113 | CUDA_CHECK(cudaSetDevice(device)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:113:5: note: in expansion of macro ‘CUDA_CHECK’ 113 | CUDA_CHECK(cudaSetDevice(device)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In member function ‘CUstream_st* gloo::CudaDeviceStreams::operator[](int)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:156:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 156 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:155:5: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 155 | GLOO_ENFORCE_LT(i, streams_.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:156: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())’ 156 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:155:5: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 155 | GLOO_ENFORCE_LT(i, streams_.size()); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/algorithm.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.h:15, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In function ‘int gloo::getCurrentGPUID()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:41:3: note: in expansion of macro ‘CUDA_CHECK’ 41 | CUDA_CHECK(cudaGetDevice(&id)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:41:3: note: in expansion of macro ‘CUDA_CHECK’ 41 | CUDA_CHECK(cudaGetDevice(&id)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In function ‘int gloo::getGPUIDForPointer(const void*)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:47:3: note: in expansion of macro ‘CUDA_CHECK’ 47 | CUDA_CHECK(cudaPointerGetAttributes(&attr, ptr)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:47:3: note: in expansion of macro ‘CUDA_CHECK’ 47 | CUDA_CHECK(cudaPointerGetAttributes(&attr, ptr)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In function ‘int gloo::getDeviceCount()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:53:3: note: in expansion of macro ‘CUDA_CHECK’ 53 | CUDA_CHECK(cudaGetDeviceCount(&count)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:53:3: note: in expansion of macro ‘CUDA_CHECK’ 53 | CUDA_CHECK(cudaGetDeviceCount(&count)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In destructor ‘gloo::CudaDeviceGuard::~CudaDeviceGuard()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:103:5: note: in expansion of macro ‘CUDA_CHECK’ 103 | CUDA_CHECK(cudaSetDevice(previous_)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:103:5: note: in expansion of macro ‘CUDA_CHECK’ 103 | CUDA_CHECK(cudaSetDevice(previous_)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In constructor ‘gloo::CudaDeviceScope::CudaDeviceScope(int)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:113:5: note: in expansion of macro ‘CUDA_CHECK’ 113 | CUDA_CHECK(cudaSetDevice(device)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:113:5: note: in expansion of macro ‘CUDA_CHECK’ 113 | CUDA_CHECK(cudaSetDevice(device)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In member function ‘CUstream_st* gloo::CudaDeviceStreams::operator[](int)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:156:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 156 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:155:5: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 155 | GLOO_ENFORCE_LT(i, streams_.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:156: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())’ 156 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:155:5: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 155 | GLOO_ENFORCE_LT(i, streams_.size()); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/algorithm.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.h:18, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In function ‘int gloo::getCurrentGPUID()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:41:3: note: in expansion of macro ‘CUDA_CHECK’ 41 | CUDA_CHECK(cudaGetDevice(&id)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:41:3: note: in expansion of macro ‘CUDA_CHECK’ 41 | CUDA_CHECK(cudaGetDevice(&id)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In function ‘int gloo::getGPUIDForPointer(const void*)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:47:3: note: in expansion of macro ‘CUDA_CHECK’ 47 | CUDA_CHECK(cudaPointerGetAttributes(&attr, ptr)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:47:3: note: in expansion of macro ‘CUDA_CHECK’ 47 | CUDA_CHECK(cudaPointerGetAttributes(&attr, ptr)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In function ‘int gloo::getDeviceCount()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:53:3: note: in expansion of macro ‘CUDA_CHECK’ 53 | CUDA_CHECK(cudaGetDeviceCount(&count)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:53:3: note: in expansion of macro ‘CUDA_CHECK’ 53 | CUDA_CHECK(cudaGetDeviceCount(&count)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In destructor ‘gloo::CudaDeviceGuard::~CudaDeviceGuard()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:103:5: note: in expansion of macro ‘CUDA_CHECK’ 103 | CUDA_CHECK(cudaSetDevice(previous_)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:103:5: note: in expansion of macro ‘CUDA_CHECK’ 103 | CUDA_CHECK(cudaSetDevice(previous_)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In constructor ‘gloo::CudaDeviceScope::CudaDeviceScope(int)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:113:5: note: in expansion of macro ‘CUDA_CHECK’ 113 | CUDA_CHECK(cudaSetDevice(device)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:113:5: note: in expansion of macro ‘CUDA_CHECK’ 113 | CUDA_CHECK(cudaSetDevice(device)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In member function ‘CUstream_st* gloo::CudaDeviceStreams::operator[](int)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:156:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 156 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:155:5: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 155 | GLOO_ENFORCE_LT(i, streams_.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:156: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())’ 156 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:155:5: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 155 | GLOO_ENFORCE_LT(i, streams_.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_private.h:155:5: required from here 156 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:128:26: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const long unsigned int’ [-Wsign-compare] 128 | BINARY_COMP_HELPER(Less, <) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:119:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 119 | if (x op y) { \ | ^~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:181:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:181:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_private.h:155:5: required from here 156 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:128:26: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const long unsigned int’ [-Wsign-compare] 128 | BINARY_COMP_HELPER(Less, <) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:119:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 119 | if (x op y) { \ | ^~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:70:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:71:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:72:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:73:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:74:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:75:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:76:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:77:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_private.h:155:5: required from here 156 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:128:26: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const long unsigned int’ [-Wsign-compare] 128 | BINARY_COMP_HELPER(Less, <) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:119:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 119 | if (x op y) { \ | ^~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:138: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] 138 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:140: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] 140 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:147: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] 147 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:149: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] 149 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:215:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 215 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:266:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 266 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:267: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] 267 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:271: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] 271 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:286:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 286 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:319:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 319 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:333:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 333 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:348: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] 348 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:362: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] 362 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:367: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] 367 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:414:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 414 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:417:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 417 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:420:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 420 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 422 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:426:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 426 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:431:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 431 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:436: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] 436 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:439: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] 439 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:443:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 443 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:444: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] 444 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:448: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] 448 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:138: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] 138 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:140: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] 140 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:147: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] 147 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:149: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] 149 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:70:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:215:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 215 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:266:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 266 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:267: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] 267 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:271: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] 271 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:286:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 286 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:319:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 319 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:333:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 333 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:348: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] 348 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:362: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] 362 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:367: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] 367 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:414:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 414 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:417:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 417 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:420:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 420 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 422 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:426:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 426 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:431:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 431 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:436: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] 436 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:439: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] 439 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:443:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 443 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:444: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] 444 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:448: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] 448 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:138: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] 138 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:140: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] 140 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:147: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] 147 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:149: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] 149 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:215:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 215 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:50:26: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:70:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:266:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 266 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:267: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] 267 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:271: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] 271 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:286:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 286 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:319:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 319 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:333:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 333 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:348: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] 348 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:362: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] 362 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:367: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] 367 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:414:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 414 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:417:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 417 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:420:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 420 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 422 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:426:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 426 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:431:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 431 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:436: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] 436 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:439: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] 439 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:443:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 443 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:444: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] 444 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:448: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] 448 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_private.h:155:5: required from here 156 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:128:26: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const long unsigned int’ [-Wsign-compare] 128 | BINARY_COMP_HELPER(Less, <) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:119:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 119 | if (x op y) { \ | ^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:138: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] 138 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:140: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] 140 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:147: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] 147 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:149: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] 149 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:215:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 215 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:266:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 266 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:267: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] 267 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:271: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] 271 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:286:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 286 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:319:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 319 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:333:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 333 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:71:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:348: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] 348 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:362: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] 362 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:367: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] 367 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:414:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 414 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:417:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 417 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:420:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 420 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 422 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:426:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 426 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:431:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 431 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:436: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] 436 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:439: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] 439 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:443:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 443 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:444: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] 444 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:448: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] 448 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:138: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] 138 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:140: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] 140 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:147: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] 147 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:149: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] 149 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:215:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 215 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:266:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 266 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:267: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] 267 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:271: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] 271 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:286:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 286 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:319:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 319 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:333:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 333 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:50:26: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:71:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:135:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 135 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:348: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] 348 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:362: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] 362 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:367: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] 367 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:414:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 414 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:417:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 417 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:420:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 420 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 422 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:426:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 426 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:431:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 431 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:436: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] 436 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:439: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] 439 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:443:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 443 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:444: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] 444 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:448: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] 448 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:138: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] 138 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:140: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] 140 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:147: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] 147 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:149: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] 149 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:215:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 215 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:266:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 266 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:267: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] 267 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:271: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] 271 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:286:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 286 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:319:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 319 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:333:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 333 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:348: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] 348 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:362: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] 362 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:367: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] 367 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:135:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 135 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:414:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 414 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:417:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 417 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:420:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 420 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 422 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:426:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 426 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:431:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 431 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:436: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] 436 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:439: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] 439 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:443:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 443 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:444: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] 444 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:448: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] 448 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:72:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:135:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 135 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:138: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] 138 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:140: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] 140 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:147: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] 147 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:149: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] 149 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:215:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 215 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:266:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 266 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:267: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] 267 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:271: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] 271 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:286:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 286 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:319:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 319 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:333:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 333 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:348: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] 348 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:362: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] 362 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:367: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] 367 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:135:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 135 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:414:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 414 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:417:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 417 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:420:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 420 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 422 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:426:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 426 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:431:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 431 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:436: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] 436 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:439: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] 439 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:443:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 443 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:444: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] 444 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:448: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] 448 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:138: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] 138 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:140: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] 140 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:147: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] 147 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:149: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] 149 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:215:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 215 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::run() [with T = int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:135:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 135 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:266:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 266 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:267: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] 267 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:271: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] 271 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:286:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 286 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:319:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 319 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:333:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 333 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:348: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] 348 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:362: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] 362 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:367: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] 367 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:414:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 414 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:417:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 417 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:420:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 420 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 422 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:426:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 426 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:431:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 431 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:436: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] 436 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:439: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] 439 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:443:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 443 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:444: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] 444 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:448: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] 448 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::setupNodes() [with T = int; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:50:26: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:72:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::run() [with T = int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:135:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 135 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::setupNodes() [with T = int; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:138: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] 138 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:140: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] 140 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:147: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] 147 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:149: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] 149 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:215:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 215 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:266:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 266 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:267: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] 267 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:271: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] 271 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:286:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 286 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:319:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 319 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:333:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 333 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:348: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] 348 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:362: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] 362 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:367: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] 367 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:135:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 135 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:414:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 414 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:417:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 417 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:420:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 420 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 422 | if (offset > count_) { | ~~~~~~~^~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/algorithm.h:14: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = signed char; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:181:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:181:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:73:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:135:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 135 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:426:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 426 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:431:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 431 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:436: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] 436 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:439: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] 439 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:443:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 443 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:444: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] 444 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:448: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] 448 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:138: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] 138 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:140: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] 140 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:147: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] 147 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:149: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] 149 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:215:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 215 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:266:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 266 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:267: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] 267 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:271: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] 271 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:286:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 286 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:319:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 319 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:333:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 333 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:348: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] 348 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:362: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] 362 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:367: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] 367 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:139:22: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:181:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:414:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 414 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:417:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 417 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:420:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 420 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 422 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:426:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 426 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:431:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 431 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:436: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] 436 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:439: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] 439 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:443:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 443 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:444: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] 444 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:448: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] 448 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:135:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 135 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:135:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 135 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:18, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:11: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:153: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]’ 153 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 154 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:181:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:181:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:138: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] 138 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:140: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] 140 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:147: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] 147 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:149: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] 149 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:215:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 215 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::run() [with T = float; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:135:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 135 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:266:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 266 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:267: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] 267 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:271: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] 271 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:286:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 286 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:319:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 319 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:333:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 333 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:348: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] 348 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:362: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] 362 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:367: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] 367 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:414:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 414 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:417:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 417 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:420:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 420 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 422 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:426:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 426 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:431:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 431 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:436: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] 436 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:439: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] 439 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:443:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 443 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:444: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] 444 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:448: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] 448 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::setupNodes() [with T = float; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:50:26: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:73:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::run() [with T = float; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:135:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 135 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:164:26: 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]’ 164 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:181:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::setupNodes() [with T = float; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:138: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] 138 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:140: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] 140 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:147: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] 147 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:149: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] 149 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:215:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 215 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::run() [with T = double; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:135:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 135 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:266:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 266 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:267: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] 267 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:271: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] 271 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:286:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 286 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:319:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 319 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:333:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 333 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:348: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] 348 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:362: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] 362 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:367: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] 367 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = unsigned char; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:414:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 414 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:417:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 417 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:420:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 420 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 422 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:426:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 426 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:431:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 431 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::setupNodes() [with T = double; W = gloo::CudaHostWorkspace]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:436: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] 436 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:439: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] 439 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:443:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 443 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:444: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] 444 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:448: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] 448 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:74:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::run() [with T = double; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:135:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 135 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:138: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] 138 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:140: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] 140 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:147: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] 147 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:149: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] 149 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:215:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 215 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc: In instantiation of ‘void gloo::CudaAllreduceBcube::setupNodes() [with T = double; W = gloo::CudaDeviceWorkspace]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:266:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 266 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:267: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] 267 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:271: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] 271 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:286:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 286 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:319:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 319 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:333:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 333 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:348: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] 348 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:362: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] 362 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:367: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] 367 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:414:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 414 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:417:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 417 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:420:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 420 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 422 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:426:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 426 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:431:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 431 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:436: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] 436 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:439: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] 439 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:443:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 443 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:444: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] 444 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:448: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] 448 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:139:22: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:138: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] 138 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:140: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] 140 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:147: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] 147 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:149: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] 149 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:215:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 215 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:135:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 135 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:153: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]’ 153 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 154 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:135:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 135 | for (int step = 0; step < steps_; ++step) { | ~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:266:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 266 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:267: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] 267 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:271: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] 271 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:286:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 286 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:319:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 319 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:333:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 333 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:348: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] 348 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:362: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] 362 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:367: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] 367 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:414:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 414 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:417:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 417 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:420:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 420 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 422 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:426:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 426 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:431:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 431 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:436: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] 436 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:439: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] 439 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:443:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 443 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:444: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] 444 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:448: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] 448 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:164:26: 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]’ 164 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:50:26: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:74:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = int; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:151:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = signed char; W = gloo::CudaHostWorkspace]’ 151 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:151:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 151 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:138: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] 138 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:140: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] 140 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:147: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] 147 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:149: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] 149 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:215:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 215 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:266:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 266 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:267: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] 267 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:271: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] 271 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:151:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 151 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:286:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 286 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:319:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 319 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:333:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 333 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:348: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] 348 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:362: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] 362 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:367: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] 367 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:151:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 151 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:414:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 414 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:417:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 417 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:420:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 420 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 422 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:426:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 426 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:431:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 431 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:436: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] 436 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:439: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] 439 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:443:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 443 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:444: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] 444 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:448: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] 448 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:138: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] 138 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:140: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] 140 | if (sendOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:147: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] 147 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:149: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] 149 | if (recvOffsets_[i] + stepChunkSize > count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:151:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = int; W = gloo::CudaHostWorkspace]’ 151 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:151:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = int; W = gloo::CudaDeviceWorkspace]’ 151 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:215:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 215 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:266:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 266 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:267: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] 267 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:271: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] 271 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:286:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 286 | if (i != stepsWithinBlock_ - 1) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:319:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 319 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:333:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const unsigned int’ [-Wsign-compare] 333 | for (int i = 0; i < numSendsAndReceivesToLargerBlock; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:348: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] 348 | if (recvOffsets_[stepsWithinBlock_ - 1] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:362: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] 362 | if (recvOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:367: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] 367 | if (sendOffsets_[i] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:151:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = long int; W = gloo::CudaHostWorkspace]’ 151 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:414:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 414 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:417:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 417 | offset = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:420:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 420 | numElements = i == stepsWithinBlock_ - 1 ? recvCounts_[i] + sendCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:422:16: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 422 | if (offset > count_) { | ~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:426:30: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘const int’ [-Wsign-compare] 426 | if (offset + numElements > count_) { | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:431:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 431 | for (int j = 0; j < devicePtrs_.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:151:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = long int; W = gloo::CudaDeviceWorkspace]’ 151 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:436: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] 436 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:439: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] 439 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:443:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 443 | for (int i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:444: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] 444 | if (sendOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:448: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] 448 | if (recvOffsets_[0] < count_) { /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:75:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:151:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 151 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:151:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 151 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:139:22: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:50:26: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:75:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:151:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = float; W = gloo::CudaHostWorkspace]’ 151 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:151:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = float; W = gloo::CudaDeviceWorkspace]’ 151 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:151:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = double; W = gloo::CudaHostWorkspace]’ 151 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:478:14: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 478 | if (bytes_ < kOnDeviceThreshold) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:151:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = double; W = gloo::CudaDeviceWorkspace]’ 151 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:241: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]’ 241 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:577:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 577 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:582:41: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 582 | const size_t numElementsInBcast = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:279:44: required from ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = signed char; W = gloo::CudaHostWorkspace]’ 279 | auto recvBufAtOffset = recvBuf_.range(bufferOffset, recvCounts_[i]); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:151:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 151 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:153: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]’ 153 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 154 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:151:48: required from ‘void gloo::CudaAllreduceBcube::run() [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 151 | recvBufs_[recvBufIdx_[srcRank]].range(0, recvCount); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:76:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:433:31: required from ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = signed char; W = gloo::CudaHostWorkspace]’ 433 | devicePtrs_[j].range(offset, numElements)); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:241: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]’ 241 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:630:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 630 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:640:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 640 | i == stepsWithinBlock_ - 1 ? sendCounts_[i] + recvCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:478:14: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 478 | if (bytes_ < kOnDeviceThreshold) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:241: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]’ 241 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:577:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 577 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:50:26: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:76:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:582:41: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 582 | const size_t numElementsInBcast = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:279:44: required from ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 279 | auto recvBufAtOffset = recvBuf_.range(bufferOffset, recvCounts_[i]); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:433:31: required from ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 433 | devicePtrs_[j].range(offset, numElements)); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:241: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]’ 241 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:630:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 630 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:640:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 640 | i == stepsWithinBlock_ - 1 ? sendCounts_[i] + recvCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:478:14: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 478 | if (bytes_ < kOnDeviceThreshold) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:241:32: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = int; W = gloo::CudaHostWorkspace]’ 241 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:577:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 577 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:582:41: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 582 | const size_t numElementsInBcast = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:279:44: required from ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = int; W = gloo::CudaHostWorkspace]’ 279 | auto recvBufAtOffset = recvBuf_.range(bufferOffset, recvCounts_[i]); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:164:26: 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]’ 164 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:433:31: required from ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = int; W = gloo::CudaHostWorkspace]’ 433 | devicePtrs_[j].range(offset, numElements)); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:241:32: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = int; W = gloo::CudaDeviceWorkspace]’ 241 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:630:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 630 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:640:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 640 | i == stepsWithinBlock_ - 1 ? sendCounts_[i] + recvCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:478:14: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 478 | if (bytes_ < kOnDeviceThreshold) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:241: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]’ 241 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:577:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 577 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:582:41: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 582 | const size_t numElementsInBcast = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:279:44: required from ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = long int; W = gloo::CudaHostWorkspace]’ 279 | auto recvBufAtOffset = recvBuf_.range(bufferOffset, recvCounts_[i]); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:433:31: required from ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = long int; W = gloo::CudaHostWorkspace]’ 433 | devicePtrs_[j].range(offset, numElements)); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:241: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]’ 241 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:630:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 630 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:640:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 640 | i == stepsWithinBlock_ - 1 ? sendCounts_[i] + recvCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:478:14: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 478 | if (bytes_ < kOnDeviceThreshold) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:241: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]’ 241 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:577:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 577 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:582:41: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 582 | const size_t numElementsInBcast = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:279:44: required from ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 279 | auto recvBufAtOffset = recvBuf_.range(bufferOffset, recvCounts_[i]); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:433:31: required from ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 433 | devicePtrs_[j].range(offset, numElements)); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:241: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]’ 241 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:630:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 630 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:640:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 640 | i == stepsWithinBlock_ - 1 ? sendCounts_[i] + recvCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = long int; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:478:14: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 478 | if (bytes_ < kOnDeviceThreshold) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:241:32: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = float; W = gloo::CudaHostWorkspace]’ 241 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:577:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 577 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:582:41: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 582 | const size_t numElementsInBcast = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:279:44: required from ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = float; W = gloo::CudaHostWorkspace]’ 279 | auto recvBufAtOffset = recvBuf_.range(bufferOffset, recvCounts_[i]); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:433:31: required from ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = float; W = gloo::CudaHostWorkspace]’ 433 | devicePtrs_[j].range(offset, numElements)); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:241:32: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = float; W = gloo::CudaDeviceWorkspace]’ 241 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:630:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 630 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:640:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 640 | i == stepsWithinBlock_ - 1 ? sendCounts_[i] + recvCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:478:14: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 478 | if (bytes_ < kOnDeviceThreshold) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:77:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:241:32: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = double; W = gloo::CudaHostWorkspace]’ 241 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:577:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 577 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:582:41: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 582 | const size_t numElementsInBcast = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:279:44: required from ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = double; W = gloo::CudaHostWorkspace]’ 279 | auto recvBufAtOffset = recvBuf_.range(bufferOffset, recvCounts_[i]); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:433:31: required from ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = double; W = gloo::CudaHostWorkspace]’ 433 | devicePtrs_[j].range(offset, numElements)); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:241:32: required from ‘gloo::CudaAllreduceHalvingDoubling::CudaAllreduceHalvingDoubling(const std::shared_ptr&, const std::vector&, int, const std::vector&, bool) [with T = double; W = gloo::CudaDeviceWorkspace]’ 241 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:630:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 630 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:640:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 640 | i == stepsWithinBlock_ - 1 ? sendCounts_[i] + recvCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:478:14: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const size_t’ {aka ‘const long unsigned int’} [-Wsign-compare] 478 | if (bytes_ < kOnDeviceThreshold) { | ~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:241: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]’ 241 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:577:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 577 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:582:41: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 582 | const size_t numElementsInBcast = i == stepsWithinBlock_ - 1 | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:279:44: required from ‘void gloo::CudaAllreduceHalvingDoubling::run() [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 279 | auto recvBufAtOffset = recvBuf_.range(bufferOffset, recvCounts_[i]); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:433:31: required from ‘void gloo::CudaAllreduceHalvingDoubling::devicePointerInit() [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 433 | devicePtrs_[j].range(offset, numElements)); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:241: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]’ 241 | initReductionsAndBroadcasts(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:630:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 630 | for (int i = 0; i < stepsWithinBlock_; i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:640:11: warning: comparison of integer expressions of different signedness: ‘int’ and ‘uint32_t’ {aka ‘unsigned int’} [-Wsign-compare] 640 | i == stepsWithinBlock_ - 1 ? sendCounts_[i] + recvCounts_[i] | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/algorithm.h:14: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = signed char; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:480: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]’ 480 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:139:22: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:50:26: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:77:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:482: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]’ 482 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:18, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:11: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:153: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]’ 153 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 154 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:164:26: 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]’ 164 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:487: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]’ 487 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/algorithm.h:14: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = signed char; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:70:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:139:22: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = unsigned char; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:71:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:153: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]’ 153 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 154 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = int; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:72:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = long int; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:73:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:74:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:164:26: 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]’ 164 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:18, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:11: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:500: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]’ 500 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 501 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:523: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]’ 523 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = float; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:75:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = double; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:76:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:525: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]’ 525 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = float16; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:77:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = float; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = unsigned char; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:480: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]’ 480 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:139:22: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:21, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:12: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:70:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:50:26: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:70:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = float]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:153: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]’ 153 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 154 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:71:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:482: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]’ 482 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:50:26: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:71:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:164:26: 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]’ 164 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:72:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = double; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:50:26: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:72:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:73:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:139:22: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:50:26: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:73:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:487: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]’ 487 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = double]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:153: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]’ 153 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 154 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:74:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:50:26: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:74:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:500: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]’ 500 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 501 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:523: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]’ 523 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:75:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:50:26: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:75:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:525: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]’ 525 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:76:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = int; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:50:26: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:76:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:480: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]’ 480 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = int]’: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:77:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:50:26: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:77:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:41:54: 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< | ~~~~~~~~~~~~ 41 | CudaLocalMemcpy, Dst> >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 42 | streams[0], | ~~~~~~~~~~~ 43 | devicePtrs[0], | ~~~~~~~~~~~~~~ 44 | targetPtr, | ~~~~~~~~~~ 45 | offset, | ~~~~~~~ 46 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:70:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:482: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]’ 482 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:70:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:41:54: 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< | ~~~~~~~~~~~~ 41 | CudaLocalMemcpy, Dst> >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 42 | streams[0], | ~~~~~~~~~~~ 43 | devicePtrs[0], | ~~~~~~~~~~~~~~ 44 | targetPtr, | ~~~~~~~~~~ 45 | offset, | ~~~~~~~ 46 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:71:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:71:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:41:54: 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< | ~~~~~~~~~~~~ 41 | CudaLocalMemcpy, Dst> >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 42 | streams[0], | ~~~~~~~~~~~ 43 | devicePtrs[0], | ~~~~~~~~~~~~~~ 44 | targetPtr, | ~~~~~~~~~~ 45 | offset, | ~~~~~~~ 46 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:72:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:72:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:41:54: 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< | ~~~~~~~~~~~~ 41 | CudaLocalMemcpy, Dst> >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 42 | streams[0], | ~~~~~~~~~~~ 43 | devicePtrs[0], | ~~~~~~~~~~~~~~ 44 | targetPtr, | ~~~~~~~~~~ 45 | offset, | ~~~~~~~ 46 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:73:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:73:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:487: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]’ 487 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:41:54: 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< | ~~~~~~~~~~~~ 41 | CudaLocalMemcpy, Dst> >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 42 | streams[0], | ~~~~~~~~~~~ 43 | devicePtrs[0], | ~~~~~~~~~~~~~~ 44 | targetPtr, | ~~~~~~~~~~ 45 | offset, | ~~~~~~~ 46 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:74:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:74:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:41:54: 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< | ~~~~~~~~~~~~ 41 | CudaLocalMemcpy, Dst> >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 42 | streams[0], | ~~~~~~~~~~~ 43 | devicePtrs[0], | ~~~~~~~~~~~~~~ 44 | targetPtr, | ~~~~~~~~~~ 45 | offset, | ~~~~~~~ 46 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:75:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:75:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:500: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]’ 500 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 501 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:523: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]’ 523 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:164:26: 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]’ 164 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:41:54: 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< | ~~~~~~~~~~~~ 41 | CudaLocalMemcpy, Dst> >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 42 | streams[0], | ~~~~~~~~~~~ 43 | devicePtrs[0], | ~~~~~~~~~~~~~~ 44 | targetPtr, | ~~~~~~~~~~ 45 | offset, | ~~~~~~~ 46 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:76:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = float16; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:76:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:525: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]’ 525 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:41:54: 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< | ~~~~~~~~~~~~ 41 | CudaLocalMemcpy, Dst> >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 42 | streams[0], | ~~~~~~~~~~~ 43 | devicePtrs[0], | ~~~~~~~~~~~~~~ 44 | targetPtr, | ~~~~~~~~~~ 45 | offset, | ~~~~~~~ 46 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:77:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:77:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:139:22: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = long int; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:480: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]’ 480 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:63:50: 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), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 65 | fn, | ~~~ 66 | root); | ~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:70:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = float16]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:153: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]’ 153 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 154 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:165:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 165 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 166 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | root); | ~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:50:26: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:70:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:482: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]’ 482 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:164:26: 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]’ 164 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:487: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]’ 487 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:500: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]’ 500 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 501 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:523: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]’ 523 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:525: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]’ 525 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:63:50: 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), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 65 | fn, | ~~~ 66 | root); | ~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:71:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:165:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 165 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 166 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | root); | ~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:50:26: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:71:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:63:50: 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), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 65 | fn, | ~~~ 66 | root); | ~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:72:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:165:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = int; size_t = long unsigned int]’ 165 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 166 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | root); | ~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:50:26: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:72:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:63:50: 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), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 65 | fn, | ~~~ 66 | root); | ~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:73:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:165:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 165 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 166 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | root); | ~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:50:26: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:73:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:12: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:237:51: 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]’ 237 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 238 | streams, | ~~~~~~~~ 239 | devicePtrs, | ~~~~~~~~~~~ 240 | targetPtr, | ~~~~~~~~~~ 241 | fn, | ~~~ 242 | offset, | ~~~~~~~ 243 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:181:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:63:50: 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), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 65 | fn, | ~~~ 66 | root); | ~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:74:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:165:56: 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]’ 165 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 166 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | root); | ~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:50:26: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:74:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:21: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:181:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:63:50: 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), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 65 | fn, | ~~~ 66 | root); | ~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:75:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:165:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = float; size_t = long unsigned int]’ 165 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 166 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | root); | ~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:50:26: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:75:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:63:50: 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), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 65 | fn, | ~~~ 66 | root); | ~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:76:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:164:26: 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]’ 164 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:181:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:165:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = double; size_t = long unsigned int]’ 165 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 166 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | root); | ~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:50:26: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:76:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:237:51: 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]’ 237 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 238 | streams, | ~~~~~~~~ 239 | devicePtrs, | ~~~~~~~~~~~ 240 | targetPtr, | ~~~~~~~~~~ 241 | fn, | ~~~ 242 | offset, | ~~~~~~~ 243 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:63:50: 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), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 65 | fn, | ~~~ 66 | root); | ~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:77:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:165:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 165 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 166 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | root); | ~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:50:26: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:77:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:164:26: 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]’ 164 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:480: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]’ 480 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:237:51: 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]’ 237 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 238 | streams, | ~~~~~~~~ 239 | devicePtrs, | ~~~~~~~~~~~ 240 | targetPtr, | ~~~~~~~~~~ 241 | fn, | ~~~ 242 | offset, | ~~~~~~~ 243 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:164:26: 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]’ 164 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:237:51: 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]’ 237 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 238 | streams, | ~~~~~~~~ 239 | devicePtrs, | ~~~~~~~~~~~ 240 | targetPtr, | ~~~~~~~~~~ 241 | fn, | ~~~ 242 | offset, | ~~~~~~~ 243 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:482: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]’ 482 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:70:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:71:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:72:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:164:26: 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]’ 164 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:73:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:74:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:75:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:76:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:48:23: 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-0.5.0-build/gloo/gloo/cuda_allreduce_local.cc:77:1: required from here 68 | #define INSTANTIATE_TEMPLATE(T) template class CudaAllreduceLocal; | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:237:51: 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]’ 237 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 238 | streams, | ~~~~~~~~ 239 | devicePtrs, | ~~~~~~~~~~~ 240 | targetPtr, | ~~~~~~~~~~ 241 | fn, | ~~~ 242 | offset, | ~~~~~~~ 243 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:487: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]’ 487 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:164:26: 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]’ 164 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:500: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]’ 500 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 501 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:523: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]’ 523 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:237:51: 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]’ 237 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 238 | streams, | ~~~~~~~~ 239 | devicePtrs, | ~~~~~~~~~~~ 240 | targetPtr, | ~~~~~~~~~~ 241 | fn, | ~~~ 242 | offset, | ~~~~~~~ 243 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:525: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]’ 525 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = float; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:164:26: 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]’ 164 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:480: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]’ 480 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:237:51: 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]’ 237 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 238 | streams, | ~~~~~~~~ 239 | devicePtrs, | ~~~~~~~~~~~ 240 | targetPtr, | ~~~~~~~~~~ 241 | fn, | ~~~ 242 | offset, | ~~~~~~~ 243 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:482: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]’ 482 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:164:26: 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]’ 164 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:237:51: 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]’ 237 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 238 | streams, | ~~~~~~~~ 239 | devicePtrs, | ~~~~~~~~~~~ 240 | targetPtr, | ~~~~~~~~~~ 241 | fn, | ~~~ 242 | offset, | ~~~~~~~ 243 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = float]’: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:487: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]’ 487 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:164:26: 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]’ 164 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:230:54: 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]’ 229 | return make_unique< | ~~~~~~~~~~~~ 230 | CudaLocalMemcpy, Dst> >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams[0], | ~~~~~~~~~~~ 232 | devicePtrs[0], | ~~~~~~~~~~~~~~ 233 | targetPtr, | ~~~~~~~~~~ 234 | offset, | ~~~~~~~ 235 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:181:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:230:54: 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]’ 229 | return make_unique< | ~~~~~~~~~~~~ 230 | CudaLocalMemcpy, Dst> >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams[0], | ~~~~~~~~~~~ 232 | devicePtrs[0], | ~~~~~~~~~~~~~~ 233 | targetPtr, | ~~~~~~~~~~ 234 | offset, | ~~~~~~~ 235 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:181:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:181:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = float]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:500: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]’ 500 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 501 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:523: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]’ 523 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:230:54: 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]’ 229 | return make_unique< | ~~~~~~~~~~~~ 230 | CudaLocalMemcpy, Dst> >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams[0], | ~~~~~~~~~~~ 232 | devicePtrs[0], | ~~~~~~~~~~~~~~ 233 | targetPtr, | ~~~~~~~~~~ 234 | offset, | ~~~~~~~ 235 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:230:54: 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]’ 229 | return make_unique< | ~~~~~~~~~~~~ 230 | CudaLocalMemcpy, Dst> >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams[0], | ~~~~~~~~~~~ 232 | devicePtrs[0], | ~~~~~~~~~~~~~~ 233 | targetPtr, | ~~~~~~~~~~ 234 | offset, | ~~~~~~~ 235 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:525: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]’ 525 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:230:54: 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]’ 229 | return make_unique< | ~~~~~~~~~~~~ 230 | CudaLocalMemcpy, Dst> >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams[0], | ~~~~~~~~~~~ 232 | devicePtrs[0], | ~~~~~~~~~~~~~~ 233 | targetPtr, | ~~~~~~~~~~ 234 | offset, | ~~~~~~~ 235 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:230:54: 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]’ 229 | return make_unique< | ~~~~~~~~~~~~ 230 | CudaLocalMemcpy, Dst> >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams[0], | ~~~~~~~~~~~ 232 | devicePtrs[0], | ~~~~~~~~~~~~~~ 233 | targetPtr, | ~~~~~~~~~~ 234 | offset, | ~~~~~~~ 235 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = double; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:480: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]’ 480 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:230:54: 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]’ 229 | return make_unique< | ~~~~~~~~~~~~ 230 | CudaLocalMemcpy, Dst> >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams[0], | ~~~~~~~~~~~ 232 | devicePtrs[0], | ~~~~~~~~~~~~~~ 233 | targetPtr, | ~~~~~~~~~~ 234 | offset, | ~~~~~~~ 235 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:230:54: 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]’ 229 | return make_unique< | ~~~~~~~~~~~~ 230 | CudaLocalMemcpy, Dst> >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams[0], | ~~~~~~~~~~~ 232 | devicePtrs[0], | ~~~~~~~~~~~~~~ 233 | targetPtr, | ~~~~~~~~~~ 234 | offset, | ~~~~~~~ 235 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:482: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]’ 482 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:487: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]’ 487 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:230:54: 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]’ 229 | return make_unique< | ~~~~~~~~~~~~ 230 | CudaLocalMemcpy, Dst> >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams[0], | ~~~~~~~~~~~ 232 | devicePtrs[0], | ~~~~~~~~~~~~~~ 233 | targetPtr, | ~~~~~~~~~~ 234 | offset, | ~~~~~~~ 235 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:230:54: 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]’ 229 | return make_unique< | ~~~~~~~~~~~~ 230 | CudaLocalMemcpy, Dst> >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams[0], | ~~~~~~~~~~~ 232 | devicePtrs[0], | ~~~~~~~~~~~~~~ 233 | targetPtr, | ~~~~~~~~~~ 234 | offset, | ~~~~~~~ 235 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = double]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:500: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]’ 500 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 501 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:523: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]’ 523 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:525: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]’ 525 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = float16; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:480: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]’ 480 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:482: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]’ 482 | cudaHostBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:230:54: 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]’ 229 | return make_unique< | ~~~~~~~~~~~~ 230 | CudaLocalMemcpy, Dst> >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams[0], | ~~~~~~~~~~~ 232 | devicePtrs[0], | ~~~~~~~~~~~~~~ 233 | targetPtr, | ~~~~~~~~~~ 234 | offset, | ~~~~~~~ 235 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:230:54: 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]’ 229 | return make_unique< | ~~~~~~~~~~~~ 230 | CudaLocalMemcpy, Dst> >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams[0], | ~~~~~~~~~~~ 232 | devicePtrs[0], | ~~~~~~~~~~~~~~ 233 | targetPtr, | ~~~~~~~~~~ 234 | offset, | ~~~~~~~ 235 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = double]’: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:487: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]’ 487 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:230:54: 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]’ 229 | return make_unique< | ~~~~~~~~~~~~ 230 | CudaLocalMemcpy, Dst> >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams[0], | ~~~~~~~~~~~ 232 | devicePtrs[0], | ~~~~~~~~~~~~~~ 233 | targetPtr, | ~~~~~~~~~~ 234 | offset, | ~~~~~~~ 235 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:230:54: 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]’ 229 | return make_unique< | ~~~~~~~~~~~~ 230 | CudaLocalMemcpy, Dst> >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams[0], | ~~~~~~~~~~~ 232 | devicePtrs[0], | ~~~~~~~~~~~~~~ 233 | targetPtr, | ~~~~~~~~~~ 234 | offset, | ~~~~~~~ 235 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = float16]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:500: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]’ 500 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 501 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:523: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]’ 523 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:226:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 226 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:525: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]’ 525 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:253:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 253 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:230:54: 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]’ 229 | return make_unique< | ~~~~~~~~~~~~ 230 | CudaLocalMemcpy, Dst> >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams[0], | ~~~~~~~~~~~ 232 | devicePtrs[0], | ~~~~~~~~~~~~~~ 233 | targetPtr, | ~~~~~~~~~~ 234 | offset, | ~~~~~~~ 235 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:230:54: 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]’ 229 | return make_unique< | ~~~~~~~~~~~~ 230 | CudaLocalMemcpy, Dst> >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 231 | streams[0], | ~~~~~~~~~~~ 232 | devicePtrs[0], | ~~~~~~~~~~~~~~ 233 | targetPtr, | ~~~~~~~~~~ 234 | offset, | ~~~~~~~ 235 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:137:19: 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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 178 | template class CudaAllreduceRing >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:63:50: 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), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 65 | fn, | ~~~ 66 | root); | ~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:181:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:165:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 165 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 166 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | root); | ~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:164:26: 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]’ 164 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:181:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:63:50: 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), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 65 | fn, | ~~~ 66 | root); | ~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:165:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 165 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 166 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | root); | ~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:164:26: 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]’ 164 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:63:50: 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), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 65 | fn, | ~~~ 66 | root); | ~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:165:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = int; size_t = long unsigned int]’ 165 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 166 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | root); | ~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:164:26: 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]’ 164 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = float16]’: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:63:50: 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), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 65 | fn, | ~~~ 66 | root); | ~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:165:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 165 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 166 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | root); | ~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:164:26: 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]’ 164 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:63:50: 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), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 65 | fn, | ~~~ 66 | root); | ~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:165:56: 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]’ 165 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 166 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | root); | ~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:164:26: 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]’ 164 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:63:50: 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), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 65 | fn, | ~~~ 66 | root); | ~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:165:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = float; size_t = long unsigned int]’ 165 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 166 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | root); | ~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:164:26: 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]’ 164 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:63:50: 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), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 65 | fn, | ~~~ 66 | root); | ~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:165:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = double; size_t = long unsigned int]’ 165 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 166 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | root); | ~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:164:26: 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]’ 164 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:63:50: 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), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 65 | fn, | ~~~ 66 | root); | ~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:165:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 165 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 166 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | root); | ~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:164:26: 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]’ 164 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:12: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:237:51: 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]’ 237 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 238 | streams, | ~~~~~~~~ 239 | devicePtrs, | ~~~~~~~~~~~ 240 | targetPtr, | ~~~~~~~~~~ 241 | fn, | ~~~ 242 | offset, | ~~~~~~~ 243 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:480: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]’ 480 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:103:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 103 | for (auto i = 1; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:21: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:523: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]’ 523 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:525: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]’ 525 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:237:51: 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]’ 237 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 238 | streams, | ~~~~~~~~ 239 | devicePtrs, | ~~~~~~~~~~~ 240 | targetPtr, | ~~~~~~~~~~ 241 | fn, | ~~~ 242 | offset, | ~~~~~~~ 243 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:480: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]’ 480 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:181:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:182:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:183:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:184:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:185:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:12: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:237:51: 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]’ 237 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 238 | streams, | ~~~~~~~~ 239 | devicePtrs, | ~~~~~~~~~~~ 240 | targetPtr, | ~~~~~~~~~~ 241 | fn, | ~~~ 242 | offset, | ~~~~~~~ 243 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:186:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:187:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-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), | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:162:23: 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]’ 162 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring.cc:188:1: required from here 179 | template class CudaAllreduceRing >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:523: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]’ 523 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:11: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/types.h: In function ‘gloo::cpu_half2float(gloo::float16)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/types.h:338:19: warning: ‘temp’ is used uninitialized [-Wuninitialized] 338 | return *(float*)rp; | ^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/types.h:335:12: note: ‘temp’ declared here 335 | unsigned temp = ((sign << 31) | (exponent << 23) | mantissa); | ^~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:525: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]’ 525 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:21: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = gloo::float16]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:199:16: required from here 199 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:201:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 201 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = gloo::float16]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:206:16: required from here 206 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = gloo::float16]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = double]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:199:16: required from here 199 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:201:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 201 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = double]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:206:16: required from here 206 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = double]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = float]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:199:16: required from here 199 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:201:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 201 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = float]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:206:16: required from here 206 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = float]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = long unsigned int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:199:16: required from here 199 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:201:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 201 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = long unsigned int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:206:16: required from here 206 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = long unsigned int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = long int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:199:16: required from here 199 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:201:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 201 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = long int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:206:16: required from here 206 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = long int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:199:16: required from here 199 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:201:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 201 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:206:16: required from here 206 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = unsigned char]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:199:16: required from here 199 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:201:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 201 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = unsigned char]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:206:16: required from here 206 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = unsigned char]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:237:51: 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]’ 237 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 238 | streams, | ~~~~~~~~ 239 | devicePtrs, | ~~~~~~~~~~~ 240 | targetPtr, | ~~~~~~~~~~ 241 | fn, | ~~~ 242 | offset, | ~~~~~~~ 243 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:480: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]’ 480 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = signed char]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:199:16: required from here 199 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:201:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 201 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = signed char]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:206:16: required from here 206 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = signed char]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:237:51: 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]’ 237 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 238 | streams, | ~~~~~~~~ 239 | devicePtrs, | ~~~~~~~~~~~ 240 | targetPtr, | ~~~~~~~~~~ 241 | fn, | ~~~ 242 | offset, | ~~~~~~~ 243 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:523: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]’ 523 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:237:51: 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]’ 237 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 238 | streams, | ~~~~~~~~ 239 | devicePtrs, | ~~~~~~~~~~~ 240 | targetPtr, | ~~~~~~~~~~ 241 | fn, | ~~~ 242 | offset, | ~~~~~~~ 243 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:525: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]’ 525 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:237:51: 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]’ 237 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 238 | streams, | ~~~~~~~~ 239 | devicePtrs, | ~~~~~~~~~~~ 240 | targetPtr, | ~~~~~~~~~~ 241 | fn, | ~~~ 242 | offset, | ~~~~~~~ 243 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:480: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]’ 480 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:523: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]’ 523 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:525: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]’ 525 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:237:51: 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]’ 237 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 238 | streams, | ~~~~~~~~ 239 | devicePtrs, | ~~~~~~~~~~~ 240 | targetPtr, | ~~~~~~~~~~ 241 | fn, | ~~~ 242 | offset, | ~~~~~~~ 243 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:237:51: 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]’ 237 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 238 | streams, | ~~~~~~~~ 239 | devicePtrs, | ~~~~~~~~~~~ 240 | targetPtr, | ~~~~~~~~~~ 241 | fn, | ~~~ 242 | offset, | ~~~~~~~ 243 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:480: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]’ 480 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:523: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]’ 523 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:525: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]’ 525 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:237:51: 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]’ 237 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 238 | streams, | ~~~~~~~~ 239 | devicePtrs, | ~~~~~~~~~~~ 240 | targetPtr, | ~~~~~~~~~~ 241 | fn, | ~~~ 242 | offset, | ~~~~~~~ 243 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:237:51: 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]’ 237 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 238 | streams, | ~~~~~~~~ 239 | devicePtrs, | ~~~~~~~~~~~ 240 | targetPtr, | ~~~~~~~~~~ 241 | fn, | ~~~ 242 | offset, | ~~~~~~~ 243 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:480: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]’ 480 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:523: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]’ 523 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:525: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]’ 525 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:237:51: 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]’ 237 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 238 | streams, | ~~~~~~~~ 239 | devicePtrs, | ~~~~~~~~~~~ 240 | targetPtr, | ~~~~~~~~~~ 241 | fn, | ~~~ 242 | offset, | ~~~~~~~ 243 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:480: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]’ 480 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:237:51: 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]’ 237 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 238 | streams, | ~~~~~~~~ 239 | devicePtrs, | ~~~~~~~~~~~ 240 | targetPtr, | ~~~~~~~~~~ 241 | fn, | ~~~ 242 | offset, | ~~~~~~~ 243 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:523: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]’ 523 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:525: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]’ 525 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:237:51: 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]’ 237 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 238 | streams, | ~~~~~~~~ 239 | devicePtrs, | ~~~~~~~~~~~ 240 | targetPtr, | ~~~~~~~~~~ 241 | fn, | ~~~ 242 | offset, | ~~~~~~~ 243 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:480: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]’ 480 | cudaHostReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:237:51: 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]’ 237 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 238 | streams, | ~~~~~~~~ 239 | devicePtrs, | ~~~~~~~~~~~ 240 | targetPtr, | ~~~~~~~~~~ 241 | fn, | ~~~ 242 | offset, | ~~~~~~~ 243 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:523: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]’ 523 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:525: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]’ 525 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 647 | template class CudaAllreduceHalvingDoubling>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h:237:51: 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]’ 237 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 238 | streams, | ~~~~~~~~ 239 | devicePtrs, | ~~~~~~~~~~~ 240 | targetPtr, | ~~~~~~~~~~ 241 | fn, | ~~~ 242 | offset, | ~~~~~~~ 243 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 506 | template class CudaAllreduceBcube>; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:104:50: 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]’ 104 | reduceOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 105 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | fn, | ~~~ 107 | root_); | ~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:204:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 204 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 205 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | root_); | ~~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:104:50: 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]’ 104 | reduceOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 105 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | fn, | ~~~ 107 | root_); | ~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:204:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 204 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 205 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | root_); | ~~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:104:50: 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]’ 104 | reduceOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 105 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | fn, | ~~~ 107 | root_); | ~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:204:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = int; size_t = long unsigned int]’ 204 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 205 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | root_); | ~~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:104:50: 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]’ 104 | reduceOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 105 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | fn, | ~~~ 107 | root_); | ~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:204:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 204 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 205 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | root_); | ~~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:104:50: 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]’ 104 | reduceOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 105 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | fn, | ~~~ 107 | root_); | ~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:204:56: 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]’ 204 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 205 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | root_); | ~~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:104:50: 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]’ 104 | reduceOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 105 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | fn, | ~~~ 107 | root_); | ~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:204:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = float; size_t = long unsigned int]’ 204 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 205 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | root_); | ~~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:104:50: 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]’ 104 | reduceOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 105 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | fn, | ~~~ 107 | root_); | ~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:204:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = double; size_t = long unsigned int]’ 204 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 205 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | root_); | ~~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:104:50: 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]’ 104 | reduceOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 105 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | fn, | ~~~ 107 | root_); | ~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:204:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 204 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 205 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | root_); | ~~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:104:50: 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]’ 104 | reduceOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 105 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | fn, | ~~~ 107 | root_); | ~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:204:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 204 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 205 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | root_); | ~~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:487: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]’ 487 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:104:50: 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]’ 104 | reduceOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 105 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | fn, | ~~~ 107 | root_); | ~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:204:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 204 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 205 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | root_); | ~~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:487: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]’ 487 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:104:50: 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]’ 104 | reduceOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 105 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | fn, | ~~~ 107 | root_); | ~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:204:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = int; size_t = long unsigned int]’ 204 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 205 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | root_); | ~~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:487: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]’ 487 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:104:50: 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]’ 104 | reduceOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 105 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | fn, | ~~~ 107 | root_); | ~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:204:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 204 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 205 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | root_); | ~~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:487: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]’ 487 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:508:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:509:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:510:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:511:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:512:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:104:50: 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]’ 104 | reduceOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 105 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | fn, | ~~~ 107 | root_); | ~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:513:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:514:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:204:56: 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]’ 204 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 205 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | root_); | ~~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:487: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]’ 487 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_bcube.cc:515:1: required from here 505 | template class CudaAllreduceBcube>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:104:50: 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]’ 104 | reduceOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 105 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | fn, | ~~~ 107 | root_); | ~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:204:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = float; size_t = long unsigned int]’ 204 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 205 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | root_); | ~~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:487: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]’ 487 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = gloo::float16]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:199:16: required from here 199 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:201:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 201 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = gloo::float16]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:206:16: required from here 206 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = gloo::float16]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = double]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:199:16: required from here 199 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:201:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 201 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = double]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:206:16: required from here 206 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = double]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = float]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:199:16: required from here 199 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:201:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 201 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = float]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:206:16: required from here 206 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = float]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:104:50: 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]’ 104 | reduceOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 105 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | fn, | ~~~ 107 | root_); | ~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = long unsigned int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:199:16: required from here 199 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:201:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 201 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = long unsigned int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:206:16: required from here 206 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = long unsigned int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = long int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:199:16: required from here 199 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:201:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 201 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = long int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:206:16: required from here 206 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = long int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:199:16: required from here 199 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:201:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 201 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:206:16: required from here 206 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = unsigned char]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:199:16: required from here 199 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:201:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 201 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = unsigned char]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:206:16: required from here 206 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = unsigned char]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = signed char]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:199:16: required from here 199 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:201:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 201 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = signed char]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:206:16: required from here 206 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = signed char]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:204:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = double; size_t = long unsigned int]’ 204 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 205 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | root_); | ~~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:487: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]’ 487 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:104:50: 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]’ 104 | reduceOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 105 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | fn, | ~~~ 107 | root_); | ~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:204:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 204 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 205 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | root_); | ~~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:487: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]’ 487 | cudaDeviceBroadcast(streams_, devicePtrs_, scratch_, 0, count_); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:11: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/types.h: In function ‘gloo::cpu_half2float(gloo::float16)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/types.h:338:19: warning: ‘temp’ is used uninitialized [-Wuninitialized] 338 | return *(float*)rp; | ^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/types.h:335:12: note: ‘temp’ declared here 335 | unsigned temp = ((sign << 31) | (exponent << 23) | mantissa); | ^~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:649:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:650:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:651:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:652:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:653:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:654:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:655:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:485: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]’ 485 | cudaDeviceReduce(streams_, devicePtrs_, scratch_, fn_, 0, count_); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_halving_doubling.cc:656:1: required from here 646 | template class CudaAllreduceHalvingDoubling>; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = gloo::float16]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:199:16: required from here 199 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:201:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 201 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = gloo::float16]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:206:16: required from here 206 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = gloo::float16]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = double]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:199:16: required from here 199 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:201:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 201 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = double]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:206:16: required from here 206 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = double]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = float]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:199:16: required from here 199 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:201:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 201 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = float]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:206:16: required from here 206 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = float]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = long unsigned int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:199:16: required from here 199 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:201:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 201 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = long unsigned int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:206:16: required from here 206 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = long unsigned int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = long int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:199:16: required from here 199 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:201:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 201 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = long int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:206:16: required from here 206 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = long int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:199:16: required from here 199 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:201:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 201 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:206:16: required from here 206 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = unsigned char]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:199:16: required from here 199 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:201:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 201 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = unsigned char]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:206:16: required from here 206 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = unsigned char]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::runAsync() [with T = signed char]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:199:16: required from here 199 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:201:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 201 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostBroadcast >::wait() [with T = signed char]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:206:16: required from here 206 | virtual void wait() { | ^~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for (auto i = 0; i < devicePtrs_.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h: In instantiation of ‘void gloo::CudaLocalHostReduce >::runAsync() [with T = signed char]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_host.h:108:16: required from here 108 | virtual void runAsync() { | ^~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/math.h:11, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/algorithm.h:14: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/types.h: In function ‘gloo::cpu_half2float(gloo::float16)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/types.h:338:19: warning: ‘temp’ is used uninitialized [-Wuninitialized] 338 | return *(float*)rp; | ^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/types.h:335:12: note: ‘temp’ declared here 335 | unsigned temp = ((sign << 31) | (exponent << 23) | mantissa); | ^~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:11: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/types.h: In function ‘gloo::cpu_half2float(gloo::float16)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/types.h:338:19: warning: ‘temp’ is used uninitialized [-Wuninitialized] 338 | return *(float*)rp; | ^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/types.h:335:12: note: ‘temp’ declared here 335 | unsigned temp = ((sign << 31) | (exponent << 23) | mantissa); | ^~~~ [ 96%] Building CXX object gloo/CMakeFiles/gloo_cuda.dir/cuda_allreduce_ring_chunked.cc.o In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/algorithm.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In function ‘int gloo::getCurrentGPUID()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:41:3: note: in expansion of macro ‘CUDA_CHECK’ 41 | CUDA_CHECK(cudaGetDevice(&id)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:41:3: note: in expansion of macro ‘CUDA_CHECK’ 41 | CUDA_CHECK(cudaGetDevice(&id)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In function ‘int gloo::getGPUIDForPointer(const void*)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:47:3: note: in expansion of macro ‘CUDA_CHECK’ 47 | CUDA_CHECK(cudaPointerGetAttributes(&attr, ptr)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:47:3: note: in expansion of macro ‘CUDA_CHECK’ 47 | CUDA_CHECK(cudaPointerGetAttributes(&attr, ptr)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In function ‘int gloo::getDeviceCount()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:53:3: note: in expansion of macro ‘CUDA_CHECK’ 53 | CUDA_CHECK(cudaGetDeviceCount(&count)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:53:3: note: in expansion of macro ‘CUDA_CHECK’ 53 | CUDA_CHECK(cudaGetDeviceCount(&count)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In destructor ‘gloo::CudaDeviceGuard::~CudaDeviceGuard()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:103:5: note: in expansion of macro ‘CUDA_CHECK’ 103 | CUDA_CHECK(cudaSetDevice(previous_)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:103:5: note: in expansion of macro ‘CUDA_CHECK’ 103 | CUDA_CHECK(cudaSetDevice(previous_)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In constructor ‘gloo::CudaDeviceScope::CudaDeviceScope(int)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:113:5: note: in expansion of macro ‘CUDA_CHECK’ 113 | CUDA_CHECK(cudaSetDevice(device)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:113:5: note: in expansion of macro ‘CUDA_CHECK’ 113 | CUDA_CHECK(cudaSetDevice(device)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In member function ‘CUstream_st* gloo::CudaDeviceStreams::operator[](int)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:156:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 156 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:155:5: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 155 | GLOO_ENFORCE_LT(i, streams_.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:156: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())’ 156 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:155:5: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 155 | GLOO_ENFORCE_LT(i, streams_.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_private.h:155:5: required from here 156 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:128:26: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const long unsigned int’ [-Wsign-compare] 128 | BINARY_COMP_HELPER(Less, <) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:119:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 119 | if (x op y) { \ | ^~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:86:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 86 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:142:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 142 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:144: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] 144 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:153:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 153 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:155: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] 155 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:163:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 163 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:165: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] 165 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:174:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 174 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:177: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] 177 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:222:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 222 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:225: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] 225 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:230:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 230 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:250:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 250 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:272:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 272 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:274: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] 274 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:305: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] 305 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:86:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 86 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:142:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 142 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:144: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] 144 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:153:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 153 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:155: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] 155 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:163:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 163 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:165: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] 165 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:174:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 174 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:177: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] 177 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:222:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 222 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:225: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] 225 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:230:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 230 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:250:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 250 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:272:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 272 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:274: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] 274 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:305: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] 305 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:86:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 86 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:142:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 142 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:144: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] 144 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:153:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 153 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:155: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] 155 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:163:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 163 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:165: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] 165 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:174:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 174 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:177: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] 177 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:222:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 222 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:225: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] 225 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:230:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 230 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:250:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 250 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:272:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 272 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:274: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] 274 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:305: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] 305 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:86:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 86 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:142:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 142 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:144: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] 144 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:153:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 153 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:155: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] 155 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:163:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 163 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:165: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] 165 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:174:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 174 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:177: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] 177 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:222:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 222 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:225: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] 225 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:230:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 230 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:250:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 250 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:272:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 272 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:274: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] 274 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:305: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] 305 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:86:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 86 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:142:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 142 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:144: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] 144 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:153:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 153 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:155: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] 155 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:163:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 163 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:165: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] 165 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:174:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 174 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:177: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] 177 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:222:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 222 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:225: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] 225 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:230:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 230 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:250:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 250 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:272:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 272 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:274: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] 274 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:305: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] 305 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:86:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 86 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:142:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 142 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:144: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] 144 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:153:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 153 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:155: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] 155 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:163:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 163 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:165: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] 165 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:174:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 174 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:177: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] 177 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:222:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 222 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:225: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] 225 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:230:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 230 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:250:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 250 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:272:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 272 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:274: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] 274 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:305: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] 305 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:86:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 86 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:142:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 142 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:144: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] 144 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:153:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 153 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:155: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] 155 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:163:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 163 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:165: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] 165 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:174:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 174 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:177: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] 177 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:222:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 222 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:225: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] 225 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:230:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 230 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:250:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 250 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:272:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 272 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:274: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] 274 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:305: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] 305 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:86:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 86 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:142:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 142 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:144: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] 144 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:153:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 153 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:155: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] 155 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:163:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 163 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:165: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] 165 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:174:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 174 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:177: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] 177 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:222:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 222 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:225: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] 225 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:230:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 230 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:250:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 250 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:272:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 272 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:274: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] 274 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:305: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] 305 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:367:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:86:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 86 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:367:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:142:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 142 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:144: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] 144 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:153:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 153 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:155: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] 155 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:163:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 163 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:165: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] 165 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:174:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 174 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:177: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] 177 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:222:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 222 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:225: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] 225 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:230:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 230 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:250:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 250 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:272:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 272 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:274: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] 274 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:367:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:305: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] 305 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:367:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:86:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 86 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:367:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:142:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 142 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:144: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] 144 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:153:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 153 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:155: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] 155 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:163:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 163 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:165: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] 165 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:174:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 174 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:177: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] 177 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:222:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 222 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:225: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] 225 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:230:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 230 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:250:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 250 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:272:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 272 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:274: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] 274 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:367:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:305: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] 305 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:368:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:86:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 86 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:368:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:142:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 142 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:144: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] 144 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:153:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 153 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:155: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] 155 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:163:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 163 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:165: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] 165 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:174:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 174 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:177: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] 177 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:222:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 222 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:225: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] 225 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:230:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 230 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:250:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 250 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:272:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 272 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:274: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] 274 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:368:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:305: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] 305 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:368:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:86:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 86 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:368:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:142:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 142 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:144: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] 144 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:153:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 153 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:155: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] 155 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:163:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 163 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:165: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] 165 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:174:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 174 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:177: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] 177 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:222:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 222 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:225: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] 225 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:230:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 230 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:250:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 250 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:272:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 272 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:274: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] 274 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:368:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:305: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] 305 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:369:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:86:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 86 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:369:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:142:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 142 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:144: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] 144 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:153:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 153 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:155: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] 155 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:163:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 163 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:165: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] 165 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:174:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 174 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:177: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] 177 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:222:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 222 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:225: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] 225 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:230:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 230 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:250:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 250 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:272:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 272 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:274: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] 274 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:369:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:305: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] 305 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:369:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:86:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 86 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:369:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:142:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 142 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:144: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] 144 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:153:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 153 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:155: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] 155 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:163:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 163 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:165: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] 165 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:174:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 174 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:177: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] 177 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:222:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 222 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:225: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] 225 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:230:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 230 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:250:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 250 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:272:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 272 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:274: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] 274 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:369:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:305: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] 305 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:370:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:86:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 86 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:370:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:142:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 142 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:144: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] 144 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:153:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 153 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:155: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] 155 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:163:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 163 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:165: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] 165 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:174:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 174 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:177: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] 177 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:222:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 222 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:225: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] 225 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:230:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 230 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:250:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 250 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:272:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 272 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:274: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] 274 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:370:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:305: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] 305 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:370:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:86:25: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const int’ [-Wsign-compare] 86 | if (offset + length <= count_) { | ~~~~~~~~~~~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:370:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:142:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 142 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:144: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] 144 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:153:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 153 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:155: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] 155 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:163:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 163 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:165: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] 165 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:174:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 174 | for (auto round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:177: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] 177 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:222:29: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 222 | for (int round = 0; round < chunks_; round++) { | ~~~~~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:225: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] 225 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:230:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 230 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:244:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 244 | if (round < (chunks_ - 2)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:250:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 250 | if (round < (chunks_ - 4)) { | ~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:272:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 272 | for (auto i = 0; i < chunks_; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:274: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] 274 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:370:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:305: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] 305 | if (chunkOffset < chunkContext_.size()) { | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:27: 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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:27: 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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:27: 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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:27: 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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:27: 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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:27: 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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaDeviceWorkspace]’ 96 | cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaDeviceWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:27: 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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:27: 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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:27: 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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:367:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:367:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:367:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:27: 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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:367:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:367:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:367:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:27: 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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:368:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:368:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:368:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:27: 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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:368:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaDeviceWorkspace]’ 96 | cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:368:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaDeviceWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:368:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:27: 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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:369:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:369:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:369:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:27: 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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:369:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaDeviceWorkspace]’ 96 | cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:369:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaDeviceWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:369:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:27: 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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:370:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:370:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:370:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:95:27: 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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:370:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:370:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:370:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/algorithm.h:14: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = signed char; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:18, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:11: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:346: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]’ 346 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 347 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:82:7: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 82 | init(); | ~~~~^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = unsigned char; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:346: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]’ 346 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 347 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:82:7: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 82 | init(); | ~~~~^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = int; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = int]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:346: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]’ 346 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 347 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:82:7: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaDeviceWorkspace]’ 82 | init(); | ~~~~^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = long int; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:346: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]’ 346 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 347 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:82:7: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 82 | init(); | ~~~~^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = long unsigned int; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:367:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:346: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]’ 346 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 347 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:82: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]’ 82 | init(); | ~~~~^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:367:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = float; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:368:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = float]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:346: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]’ 346 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 347 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:82:7: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaDeviceWorkspace]’ 82 | init(); | ~~~~^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:368:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = double; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:369:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = double]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:346: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]’ 346 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 347 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:82:7: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaDeviceWorkspace]’ 82 | init(); | ~~~~^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:369:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/math.h:27:9: required from ‘void gloo::sum(T*, const T*, size_t) [with T = float16; size_t = long unsigned int]’ 27 | sum(a, a, b, n); | ~~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda.h:349:3: required from ‘const gloo::CudaReductionFunction* gloo::CudaReductionFunction::sum’ 349 | new CudaReductionFunction( | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | SUM, &::gloo::cudaSum, &::gloo::sum); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:370:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 20 | for (auto i = 0; i < n; i++) { | ~~^~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In instantiation of ‘int gloo::findCudaDevicePointerClosestToDevice(std::vector >&, std::shared_ptr&) [with T = float16]’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:346: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]’ 346 | auto index = findCudaDevicePointerClosestToDevice( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 347 | devicePtrs_, this->context_->getDevice()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:82:7: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 82 | init(); | ~~~~^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:370:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:68:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 68 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:86:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 86 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:21: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaDeviceWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaDeviceWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaDeviceWorkspace]’ 96 | cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaDeviceWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaDeviceWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:367:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaDeviceWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:367:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaDeviceWorkspace]’ 96 | cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:368:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaDeviceWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:368:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaDeviceWorkspace]’ 96 | cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:369:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaDeviceWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:369:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:370:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaDeviceWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:370:1: required from here 361 | template class CudaAllreduceRingChunked >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:367:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:368:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:369:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:370:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:104:50: 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]’ 104 | reduceOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 105 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | fn, | ~~~ 107 | root_); | ~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:204:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 204 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 205 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | root_); | ~~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = signed char; W = gloo::CudaHostWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:104:50: 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]’ 104 | reduceOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 105 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | fn, | ~~~ 107 | root_); | ~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:204:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 204 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 205 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | root_); | ~~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = unsigned char; W = gloo::CudaHostWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:104:50: 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]’ 104 | reduceOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 105 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | fn, | ~~~ 107 | root_); | ~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:204:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = int; size_t = long unsigned int]’ 204 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 205 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | root_); | ~~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:104:50: 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]’ 104 | reduceOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 105 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | fn, | ~~~ 107 | root_); | ~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:204:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 204 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 205 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | root_); | ~~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long int; W = gloo::CudaHostWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:104:50: 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]’ 104 | reduceOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 105 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | fn, | ~~~ 107 | root_); | ~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:367:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:204:56: 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]’ 204 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 205 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | root_); | ~~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = long unsigned int; W = gloo::CudaHostWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:367:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:104:50: 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]’ 104 | reduceOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 105 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | fn, | ~~~ 107 | root_); | ~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:368:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:204:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = float; size_t = long unsigned int]’ 204 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 205 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | root_); | ~~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:368:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:104:50: 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]’ 104 | reduceOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 105 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | fn, | ~~~ 107 | root_); | ~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:369:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:204:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = double; size_t = long unsigned int]’ 204 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 205 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | root_); | ~~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:369:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:104:50: 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]’ 104 | reduceOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 105 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106 | fn, | ~~~ 107 | root_); | ~~~~~~ /usr/include/c++/14/bits/unique_ptr.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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:370:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:135:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 135 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:204:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaHostPointer&, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 204 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 205 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 206 | root_); | ~~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:98:32: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = gloo::float16; W = gloo::CudaHostWorkspace]’ 98 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 99 | streams_, devicePtrs_, scratch_, offset, length))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:370:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:363:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:364:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:365:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:366:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:367:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:368:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: required from ‘gloo::CudaAllreduceRingChunked::CudaAllreduceRingChunked(const std::shared_ptr&, const std::vector&, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 96 | cudaDeviceReduce( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:369:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:105: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]’ 105 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:50:51: 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]’ 50 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 51 | streams, devicePtrs, targetPtr, fn, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:96:29: 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( | ~~~~~~~~~~~~~~~~^ 97 | streams_, devicePtrs_, scratch_, fn_, offset, length), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_allreduce_ring_chunked.cc:370:1: required from here 360 | template class CudaAllreduceRingChunked >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/math.h:11: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/types.h: In function ‘gloo::cpu_half2float(gloo::float16)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/types.h:338:19: warning: ‘temp’ is used uninitialized [-Wuninitialized] 338 | return *(float*)rp; | ^~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/types.h:335:12: note: ‘temp’ declared here 335 | 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-0.5.0-build/gloo/gloo/transport/pair.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/context.h:15, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/algorithm.h:13, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.h:11, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:9: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In function ‘int gloo::getCurrentGPUID()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:41:3: note: in expansion of macro ‘CUDA_CHECK’ 41 | CUDA_CHECK(cudaGetDevice(&id)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:41:3: note: in expansion of macro ‘CUDA_CHECK’ 41 | CUDA_CHECK(cudaGetDevice(&id)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In function ‘int gloo::getGPUIDForPointer(const void*)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:47:3: note: in expansion of macro ‘CUDA_CHECK’ 47 | CUDA_CHECK(cudaPointerGetAttributes(&attr, ptr)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:47:3: note: in expansion of macro ‘CUDA_CHECK’ 47 | CUDA_CHECK(cudaPointerGetAttributes(&attr, ptr)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In function ‘int gloo::getDeviceCount()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:53:3: note: in expansion of macro ‘CUDA_CHECK’ 53 | CUDA_CHECK(cudaGetDeviceCount(&count)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:53:3: note: in expansion of macro ‘CUDA_CHECK’ 53 | CUDA_CHECK(cudaGetDeviceCount(&count)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In destructor ‘gloo::CudaDeviceGuard::~CudaDeviceGuard()’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:103:5: note: in expansion of macro ‘CUDA_CHECK’ 103 | CUDA_CHECK(cudaSetDevice(previous_)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:103:5: note: in expansion of macro ‘CUDA_CHECK’ 103 | CUDA_CHECK(cudaSetDevice(previous_)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In constructor ‘gloo::CudaDeviceScope::CudaDeviceScope(int)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:113:5: note: in expansion of macro ‘CUDA_CHECK’ 113 | CUDA_CHECK(cudaSetDevice(device)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals(error, cudaSuccess)’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ~~~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:28:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 28 | GLOO_ENFORCE_EQ( \ | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:113:5: note: in expansion of macro ‘CUDA_CHECK’ 113 | CUDA_CHECK(cudaSetDevice(device)); | ^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h: In member function ‘CUstream_st* gloo::CudaDeviceStreams::operator[](int)’: /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:156:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 156 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:155:5: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 155 | GLOO_ENFORCE_LT(i, streams_.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:156: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())’ 156 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_private.h:155:5: note: in expansion of macro ‘GLOO_ENFORCE_LT’ 155 | GLOO_ENFORCE_LT(i, streams_.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_private.h:155:5: required from here 156 | GLOO_ENFORCE_THAT_IMPL(Less((x), (y)), #x " < " #y, __VA_ARGS__) | ~~~~^~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:128:26: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘const long unsigned int’ [-Wsign-compare] 128 | BINARY_COMP_HELPER(Less, <) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:119:11: note: in definition of macro ‘BINARY_COMP_HELPER’ 119 | if (x op y) { \ | ^~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:196:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:40:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 40 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:196:1: required from here 193 | template class CudaBroadcastOneToAll >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:40:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 40 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:197:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:40:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 40 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:197:1: required from here 193 | template class CudaBroadcastOneToAll >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:40:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 40 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:198:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:40:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 40 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:198:1: required from here 193 | template class CudaBroadcastOneToAll >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:40:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 40 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:199:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:40:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 40 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:199:1: required from here 193 | template class CudaBroadcastOneToAll >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:40:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 40 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:200:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:40:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 40 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:200:1: required from here 193 | template class CudaBroadcastOneToAll >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:40:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 40 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:201:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:40:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 40 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:201:1: required from here 193 | template class CudaBroadcastOneToAll >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:40:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 40 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:202:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:40:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 40 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:202:1: required from here 193 | template class CudaBroadcastOneToAll >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:40:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 40 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:203:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:40:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 40 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:203:1: required from here 193 | template class CudaBroadcastOneToAll >; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(((gloo::CudaBroadcastOneToAll >*)this)->gloo::CudaBroadcastOneToAll >::rootRank_, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:31:3: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 31 | GLOO_ENFORCE_GE(rootRank_, 0); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:36:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 36 | GLOO_ENFORCE_EQ(streams.size(), ptrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:40:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 40 | for (auto i = 0; i < ptrs.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:196:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:197:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:198:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:199:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:200:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:201:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:202:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:203:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:32: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::Equals((& streams)->std::vector::size(), (& devicePtrs)->std::vector, std::allocator > >::size())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:65:3: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 65 | GLOO_ENFORCE_EQ(streams.size(), devicePtrs.size()); | ^~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_device.h:21, from /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:11: /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:196:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:197:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:198:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:199:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:200:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:201:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:202:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:203:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:154:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 154 | for (auto i = 0; i < devicePtrs.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:158:39: note: the temporary was destroyed at the end of the full expression ‘gloo::enforce_detail::GreaterEquals(root, 0)’ 158 | GLOO_ENFORCE_THAT_IMPL(GreaterEquals((x), (y)), #x " >= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:160:5: note: in expansion of macro ‘GLOO_ENFORCE_GE’ 160 | GLOO_ENFORCE_GE(root, 0, "sourcePtr must be one of devicePtrs"); | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:70:55: 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 | CudaLocalMemcpy > >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 71 | streams[0], | ~~~~~~~~~~~ 72 | sourcePtr, | ~~~~~~~~~~ 73 | devicePtrs[0], | ~~~~~~~~~~~~~~ 74 | offset, | ~~~~~~~ 75 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:196:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:166: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]’ 166 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:196:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:70:55: 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 | CudaLocalMemcpy > >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 71 | streams[0], | ~~~~~~~~~~~ 72 | sourcePtr, | ~~~~~~~~~~ 73 | devicePtrs[0], | ~~~~~~~~~~~~~~ 74 | offset, | ~~~~~~~ 75 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:197:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:166: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]’ 166 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:197:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:70:55: 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 | CudaLocalMemcpy > >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 71 | streams[0], | ~~~~~~~~~~~ 72 | sourcePtr, | ~~~~~~~~~~ 73 | devicePtrs[0], | ~~~~~~~~~~~~~~ 74 | offset, | ~~~~~~~ 75 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:198:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:166:27: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = int; size_t = long unsigned int]’ 166 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:198:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:70:55: 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 | CudaLocalMemcpy > >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 71 | streams[0], | ~~~~~~~~~~~ 72 | sourcePtr, | ~~~~~~~~~~ 73 | devicePtrs[0], | ~~~~~~~~~~~~~~ 74 | offset, | ~~~~~~~ 75 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:199:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:166: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]’ 166 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:199:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:70:55: 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 | CudaLocalMemcpy > >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 71 | streams[0], | ~~~~~~~~~~~ 72 | sourcePtr, | ~~~~~~~~~~ 73 | devicePtrs[0], | ~~~~~~~~~~~~~~ 74 | offset, | ~~~~~~~ 75 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:200:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:166: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]’ 166 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:200:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:70:55: 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 | CudaLocalMemcpy > >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 71 | streams[0], | ~~~~~~~~~~~ 72 | sourcePtr, | ~~~~~~~~~~ 73 | devicePtrs[0], | ~~~~~~~~~~~~~~ 74 | offset, | ~~~~~~~ 75 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:201:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:166:27: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = float; size_t = long unsigned int]’ 166 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:201:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:70:55: 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 | CudaLocalMemcpy > >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 71 | streams[0], | ~~~~~~~~~~~ 72 | sourcePtr, | ~~~~~~~~~~ 73 | devicePtrs[0], | ~~~~~~~~~~~~~~ 74 | offset, | ~~~~~~~ 75 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:202:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:166:27: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = double; size_t = long unsigned int]’ 166 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:202:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:70:55: 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 | CudaLocalMemcpy > >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 71 | streams[0], | ~~~~~~~~~~~ 72 | sourcePtr, | ~~~~~~~~~~ 73 | devicePtrs[0], | ~~~~~~~~~~~~~~ 74 | offset, | ~~~~~~~ 75 | count); | ~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:203:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:154:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/common/logging.h:154: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_)’ 154 | GLOO_ENFORCE_THAT_IMPL(LessEquals((x), (y)), #x " <= " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:166: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]’ 166 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:203:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:165:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = signed char; size_t = long unsigned int]’ 165 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 166 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | root); | ~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:196:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:165:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = unsigned char; size_t = long unsigned int]’ 165 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 166 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | root); | ~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:197:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:165:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = int; size_t = long unsigned int]’ 165 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 166 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | root); | ~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:198:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:165:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = long int; size_t = long unsigned int]’ 165 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 166 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | root); | ~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:199:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:165:56: 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]’ 165 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 166 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | root); | ~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:200:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:165:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = float; size_t = long unsigned int]’ 165 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 166 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | root); | ~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:201:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:165:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = double; size_t = long unsigned int]’ 165 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 166 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | root); | ~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:202:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:165:56: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = gloo::float16; size_t = long unsigned int]’ 165 | broadcastOp_ = make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 166 | toDeviceElements(streams, devicePtrs, offset, count), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 167 | root); | ~~~~~ /usr/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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:203:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:199:7: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 199 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:166: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]’ 166 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:196:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:166: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]’ 166 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:197:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:166:27: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = int; size_t = long unsigned int]’ 166 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = int; W = gloo::CudaHostWorkspace]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:198:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:166: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]’ 166 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:199:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:166: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]’ 166 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:200:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:166:27: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = float; size_t = long unsigned int]’ 166 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = float; W = gloo::CudaHostWorkspace]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:201:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:166:27: required from ‘gloo::CudaLocalNCCLBroadcast >::CudaLocalNCCLBroadcast(std::vector&, std::vector >&, gloo::CudaDevicePointer&, size_t, size_t) [with T = double; size_t = long unsigned int]’ 166 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: required from ‘gloo::CudaBroadcastOneToAll::CudaBroadcastOneToAll(const std::shared_ptr&, const std::vector&, int, int, int, const std::vector&) [with T = double; W = gloo::CudaHostWorkspace]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:202:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-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:534: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 >]’ 534 | __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-0.5.0-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-0.5.0-build/gloo/gloo/cuda_collectives_nccl.h:166: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]’ 166 | toDeviceElements(streams, devicePtrs, 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::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-0.5.0-build/gloo/gloo/cuda_collectives_device.h:79:54: 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]’ 79 | return make_unique >( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 80 | streams, devicePtrs, sourcePtr, offset, count); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:83:26: 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]’ 83 | cudaDeviceBroadcast( | ~~~~~~~~~~~~~~~~~~~^ 84 | streams_, | ~~~~~~~~~ 85 | devicePtrs_, | ~~~~~~~~~~~~ 86 | devicePtrs_[rootPointerRank], | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 87 | 0, | ~~ 88 | count_); | ~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/cuda_broadcast_one_to_all.cc:203:1: required from here 192 | template class CudaBroadcastOneToAll >; \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:54:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 54 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:31: warning: possibly dangling reference to a temporary [-Wdangling-reference] 135 | const EnforceFailMessage& r = (condition); \ | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150:3: note: in expansion of macro ‘GLOO_ENFORCE_THAT_IMPL’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:150: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())’ 150 | GLOO_ENFORCE_THAT_IMPL(Equals((x), (y)), #x " == " #y, __VA_ARGS__) | ^ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/common/logging.h:135:36: note: in definition of macro ‘GLOO_ENFORCE_THAT_IMPL’ 135 | const EnforceFailMessage& r = (condition); \ | ^~~~~~~~~ /builddir/build/BUILD/gloo-0.5.0-build/gloo/gloo/nccl/nccl.h:58:5: note: in expansion of macro ‘GLOO_ENFORCE_EQ’ 58 | GLOO_ENFORCE_EQ( | ^~~~~~~~~~~~~~~ [100%] Linking CXX shared library libgloo_cuda.so [100%] Built target gloo_cuda + popd ~/build/BUILD/gloo-0.5.0-build/gloo + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.4dZejL + umask 022 + cd /builddir/build/BUILD/gloo-0.5.0-build + '[' /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT '!=' / ']' + rm -rf /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT ++ dirname /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT + mkdir -p /builddir/build/BUILD/gloo-0.5.0-build + mkdir /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + 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-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/BUILD/gloo-0.5.0-build/BUILDROOT + pushd build ~/build/BUILD/gloo-0.5.0-build/gloo/build ~/build/BUILD/gloo-0.5.0-build/gloo + make install DESTDIR=/builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT -- Gloo build as SHARED library -- CUDA detected: 12.4 -- Added CUDA NVCC flags for: compute_52 -- Determining NCCL version from the header file: /usr/include/nccl.h -- NCCL_MAJOR_VERSION: 2 -- Found NCCL (include: /usr/include, library: /lib64/libnccl.so) -- Configuring done (0.1s) -- Generating done (0.0s) -- Build files have been written to: /builddir/build/BUILD/gloo-0.5.0-build/gloo/build [ 84%] Built target gloo [ 85%] Linking CXX shared library libgloo_cuda.so [100%] Built target gloo_cuda Install the project... -- Install configuration: "RelWithDebInfo" -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/share/cmake/Gloo/GlooConfig.cmake -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/share/cmake/Gloo/GlooConfigVersion.cmake -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/share/cmake/Gloo/GlooTargets.cmake -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/share/cmake/Gloo/GlooTargets-relwithdebinfo.cmake -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/lib64/libgloo.so.1.0 -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/lib64/libgloo.so.1 -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/lib64/libgloo.so -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/lib64/libgloo_cuda.so.1.0 -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/lib64/libgloo_cuda.so.1 -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/lib64/libgloo_cuda.so -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/config.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/algorithm.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/allgather.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/allgather_ring.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/allgatherv.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/allreduce.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/allreduce_bcube.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/allreduce_halving_doubling.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/allreduce_local.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/allreduce_ring.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/allreduce_ring_chunked.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/alltoall.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/alltoallv.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/barrier.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/barrier_all_to_all.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/barrier_all_to_one.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/broadcast.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/broadcast_one_to_all.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/context.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/gather.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/math.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/pairwise_exchange.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/reduce.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/reduce_scatter.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/scatter.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/types.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/common/aligned_allocator.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/common/common.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/common/error.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/common/logging.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/common/store.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/common/string.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/common/utils.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/common/linux.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/common/linux_devices.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/rendezvous/file_store.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/rendezvous/hash_store.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/rendezvous/prefix_store.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/rendezvous/store.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/rendezvous/context.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/rendezvous/redis_store.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/address.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/buffer.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/context.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/device.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/pair.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/unbound_buffer.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/tcp/address.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/tcp/attr.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/tcp/buffer.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/tcp/context.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/tcp/device.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/tcp/error.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/tcp/helpers.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/tcp/listener.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/tcp/loop.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/tcp/pair.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/tcp/socket.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/tcp/unbound_buffer.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/ibverbs/address.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/ibverbs/buffer.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/ibverbs/context.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/ibverbs/device.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/ibverbs/memory_region.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/ibverbs/pair.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/uv/address.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/uv/device.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/uv/context.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/uv/libuv.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/uv/pair.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/transport/uv/unbound_buffer.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/cuda.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/cuda_allreduce_bcube.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/cuda_allreduce_halving_doubling.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/cuda_allreduce_halving_doubling_pipelined.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/cuda_allreduce_local.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/cuda_allreduce_ring.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/cuda_allreduce_ring_chunked.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/cuda_broadcast_one_to_all.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/cuda_collectives_device.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/cuda_collectives_host.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/cuda_collectives_native.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/cuda_collectives_nccl.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/cuda_private.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/cuda_workspace.h -- Installing: /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/include/gloo/nccl/nccl.h + popd ~/build/BUILD/gloo-0.5.0-build/gloo + /usr/bin/find-debuginfo -j4 --strict-build-id -m -i --build-id-seed 0.5.0-20240626.0.git81925d1c.cu12_4.fc41 --unique-debug-suffix -0.5.0-20240626.0.git81925d1c.cu12_4.fc41.aarch64 --unique-debug-src-base gloo-0.5.0-20240626.0.git81925d1c.cu12_4.fc41.aarch64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /builddir/build/BUILD/gloo-0.5.0-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-20240626.0.git81925d1c.cu12_4.fc41.aarch64 1094 blocks 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 + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j4 + /usr/lib/rpm/redhat/brp-python-hardlink + /usr/bin/add-determinism --brp -j4 /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT Processed 0 paths Reading /builddir/build/BUILD/gloo-0.5.0-build/SPECPARTS/rpm-debuginfo.specpart Processing files: gloo-0.5.0-20240626.0.git81925d1c.cu12_4.fc41.aarch64 Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.uArJCR + umask 022 + cd /builddir/build/BUILD/gloo-0.5.0-build + cd gloo + DOCDIR=/builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/share/doc/gloo + export LC_ALL=C.UTF-8 + LC_ALL=C.UTF-8 + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/share/doc/gloo + cp -pr /builddir/build/BUILD/gloo-0.5.0-build/gloo/README.md /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/share/doc/gloo + RPM_EC=0 ++ jobs -p + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.bt7FVR + umask 022 + cd /builddir/build/BUILD/gloo-0.5.0-build + cd gloo + LICENSEDIR=/builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/share/licenses/gloo + export LC_ALL=C.UTF-8 + LC_ALL=C.UTF-8 + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/share/licenses/gloo + cp -pr /builddir/build/BUILD/gloo-0.5.0-build/gloo/LICENSE /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/share/licenses/gloo + RPM_EC=0 ++ jobs -p + exit 0 Provides: gloo = 1:0.5.0-20240626.0.git81925d1c.cu12_4.fc41 gloo(aarch-64) = 1:0.5.0-20240626.0.git81925d1c.cu12_4.fc41 libgloo.so.1()(64bit) libgloo_cuda.so.1()(64bit) Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libc.so.6(GLIBC_2.32)(64bit) libc.so.6(GLIBC_2.34)(64bit) libc.so.6(GLIBC_ABI_DT_RELR)(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libgloo.so.1()(64bit) libhiredis.so.1.1.0()(64bit) libibverbs.so.1()(64bit) libibverbs.so.1(IBVERBS_1.0)(64bit) libibverbs.so.1(IBVERBS_1.1)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.29)(64bit) libnccl.so.2()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.11)(64bit) libstdc++.so.6(CXXABI_1.3.13)(64bit) libstdc++.so.6(CXXABI_1.3.15)(64bit) libstdc++.so.6(CXXABI_1.3.3)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libstdc++.so.6(GLIBCXX_3.4)(64bit) libstdc++.so.6(GLIBCXX_3.4.11)(64bit) libstdc++.so.6(GLIBCXX_3.4.14)(64bit) libstdc++.so.6(GLIBCXX_3.4.15)(64bit) libstdc++.so.6(GLIBCXX_3.4.18)(64bit) libstdc++.so.6(GLIBCXX_3.4.19)(64bit) libstdc++.so.6(GLIBCXX_3.4.20)(64bit) libstdc++.so.6(GLIBCXX_3.4.21)(64bit) libstdc++.so.6(GLIBCXX_3.4.22)(64bit) libstdc++.so.6(GLIBCXX_3.4.26)(64bit) libstdc++.so.6(GLIBCXX_3.4.29)(64bit) libstdc++.so.6(GLIBCXX_3.4.30)(64bit) libstdc++.so.6(GLIBCXX_3.4.32)(64bit) libstdc++.so.6(GLIBCXX_3.4.5)(64bit) libstdc++.so.6(GLIBCXX_3.4.9)(64bit) libuv.so.1()(64bit) rtld(GNU_HASH) Processing files: gloo-devel-0.5.0-20240626.0.git81925d1c.cu12_4.fc41.aarch64 Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.JpUHBL + umask 022 + cd /builddir/build/BUILD/gloo-0.5.0-build + cd gloo + DOCDIR=/builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/share/doc/gloo-devel + export LC_ALL=C.UTF-8 + LC_ALL=C.UTF-8 + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/share/doc/gloo-devel + cp -pr /builddir/build/BUILD/gloo-0.5.0-build/gloo/README.md /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/share/doc/gloo-devel + RPM_EC=0 ++ jobs -p + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.1y3dDD + umask 022 + cd /builddir/build/BUILD/gloo-0.5.0-build + cd gloo + LICENSEDIR=/builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/share/licenses/gloo-devel + export LC_ALL=C.UTF-8 + LC_ALL=C.UTF-8 + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/usr/share/licenses/gloo-devel + cp -pr /builddir/build/BUILD/gloo-0.5.0-build/gloo/LICENSE /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT/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-20240626.0.git81925d1c.cu12_4.fc41 gloo-devel(aarch-64) = 1:0.5.0-20240626.0.git81925d1c.cu12_4.fc41 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-20240626.0.git81925d1c.cu12_4.fc41.aarch64 Provides: gloo-debugsource = 1:0.5.0-20240626.0.git81925d1c.cu12_4.fc41 gloo-debugsource(aarch-64) = 1:0.5.0-20240626.0.git81925d1c.cu12_4.fc41 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-20240626.0.git81925d1c.cu12_4.fc41.aarch64 Provides: debuginfo(build-id) = 274427e7e0443de01509ddd3081e9f963eba15d3 debuginfo(build-id) = 854c728af6338d801d6182571090bfe6a59b38f3 gloo-debuginfo = 1:0.5.0-20240626.0.git81925d1c.cu12_4.fc41 gloo-debuginfo(aarch-64) = 1:0.5.0-20240626.0.git81925d1c.cu12_4.fc41 libgloo.so.1.0-0.5.0-20240626.0.git81925d1c.cu12_4.fc41.aarch64.debug()(64bit) libgloo_cuda.so.1.0-0.5.0-20240626.0.git81925d1c.cu12_4.fc41.aarch64.debug()(64bit) Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Recommends: gloo-debugsource(aarch-64) = 1:0.5.0-20240626.0.git81925d1c.cu12_4.fc41 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILD/gloo-0.5.0-build/BUILDROOT Wrote: /builddir/build/RPMS/gloo-devel-0.5.0-20240626.0.git81925d1c.cu12_4.fc41.aarch64.rpm Wrote: /builddir/build/RPMS/gloo-debugsource-0.5.0-20240626.0.git81925d1c.cu12_4.fc41.aarch64.rpm Wrote: /builddir/build/RPMS/gloo-0.5.0-20240626.0.git81925d1c.cu12_4.fc41.aarch64.rpm Wrote: /builddir/build/RPMS/gloo-debuginfo-0.5.0-20240626.0.git81925d1c.cu12_4.fc41.aarch64.rpm Executing(rmbuild): /bin/sh -e /var/tmp/rpm-tmp.n6OQy0 + umask 022 + cd /builddir/build/BUILD/gloo-0.5.0-build + test -d /builddir/build/BUILD/gloo-0.5.0-build + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w /builddir/build/BUILD/gloo-0.5.0-build + rm -rf /builddir/build/BUILD/gloo-0.5.0-build + RPM_EC=0 ++ jobs -p + exit 0 Finish: rpmbuild gloo-0.5.0-20240626.0.git81925d1c.cu12_4.fc41.src.rpm Finish: build phase for gloo-0.5.0-20240626.0.git81925d1c.cu12_4.fc41.src.rpm INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-rawhide-aarch64-1719450592.522561/root/var/log/dnf5.log INFO: Done(/var/lib/copr-rpmbuild/results/gloo-0.5.0-20240626.0.git81925d1c.cu12_4.fc41.src.rpm) Config(child) 1 minutes 59 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": "20240626.0.git81925d1c.cu12_4.fc41", "arch": "aarch64" }, { "name": "gloo-debuginfo", "epoch": 1, "version": "0.5.0", "release": "20240626.0.git81925d1c.cu12_4.fc41", "arch": "aarch64" }, { "name": "gloo", "epoch": 1, "version": "0.5.0", "release": "20240626.0.git81925d1c.cu12_4.fc41", "arch": "aarch64" }, { "name": "gloo-debugsource", "epoch": 1, "version": "0.5.0", "release": "20240626.0.git81925d1c.cu12_4.fc41", "arch": "aarch64" }, { "name": "gloo", "epoch": 1, "version": "0.5.0", "release": "20240626.0.git81925d1c.cu12_4.fc41", "arch": "src" } ] } RPMResults finished