From 5f0e182a8df33a64cbd7e02472212992efd8b613 Mon Sep 17 00:00:00 2001 From: Wayne Franz Date: Wed, 27 Nov 2024 17:56:18 -0500 Subject: [PATCH 1/3] Include device_copy header (#433) The device/device_copy.hpp header was missing from the main hipcub.hpp header file. This change just adds it back. --- hipcub/include/hipcub/backend/rocprim/hipcub.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/hipcub/include/hipcub/backend/rocprim/hipcub.hpp b/hipcub/include/hipcub/backend/rocprim/hipcub.hpp index d06f968b..ce39bffb 100644 --- a/hipcub/include/hipcub/backend/rocprim/hipcub.hpp +++ b/hipcub/include/hipcub/backend/rocprim/hipcub.hpp @@ -51,6 +51,7 @@ // Device #include "device/device_adjacent_difference.hpp" +#include "device/device_copy.hpp" #include "device/device_histogram.hpp" #include "device/device_memcpy.hpp" #include "device/device_merge_sort.hpp" From 0200f90cedbbf0c8911ed1a8f6ef99bcdba79a86 Mon Sep 17 00:00:00 2001 From: Di Nguyen Date: Thu, 28 Nov 2024 10:01:21 -0700 Subject: [PATCH 2/3] [windows][hipCUB] Removed usage of std::unary_function and std::binary_function to prevent syntax error (#435) * removed ussage of std::unary/binary_function * updated changelog --- CHANGELOG.md | 1 + test/hipcub/test_hipcub_device_adjacent_difference.cpp | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ab6a1b62..46f1ec90 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ Full documentation for hipCUB is available at [https://rocm.docs.amd.com/project * Added `DeviceSelect::FlaggedIf` and its inplace overload. ### Changed +* Removed usage of `std::unary_function` and `std::binary_function` in `test_hipcub_device_adjacent_difference.cpp` * Changed the subset of tests that are run for smoke tests such that the smoke test will complete with faster run-time and to never exceed 2GB of vram usage. Use `python rtest.py [--emulation|-e|--test|-t]=smoke` to run these tests. * The `rtest.py` options have changed. `rtest.py` is now run with at least either `--test|-t` or `--emulation|-e`, but not both options. * The NVIDIA backend now requires CUB, Thrust and libcu++ 2.5.0. If it is not found it will be downloaded from the NVIDIA CCCL repository. diff --git a/test/hipcub/test_hipcub_device_adjacent_difference.cpp b/test/hipcub/test_hipcub_device_adjacent_difference.cpp index 170d8e7e..865bdba5 100644 --- a/test/hipcub/test_hipcub_device_adjacent_difference.cpp +++ b/test/hipcub/test_hipcub_device_adjacent_difference.cpp @@ -315,7 +315,7 @@ inline auto make_transform_iterator(InputIterator iterator, UnaryFunction transf } template -struct conversion_op : public std::unary_function> +struct conversion_op { HIPCUB_HOST_DEVICE auto operator()(const T i) const @@ -325,7 +325,7 @@ struct conversion_op : public std::unary_function> }; template -struct flag_expected_op : public std::binary_function> +struct flag_expected_op { bool left; T expected; From b4455cdf81d6d20f7b030eae4e1c73c79b329ccc Mon Sep 17 00:00:00 2001 From: NguyenNhuDi Date: Tue, 3 Dec 2024 10:10:30 -0700 Subject: [PATCH 3/3] updated ci dependencies to match rocThrust --- .jenkins/common.groovy | 12 ++++++++++-- .jenkins/precheckin.groovy | 1 + .jenkins/staticlibrary.groovy | 4 ++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/.jenkins/common.groovy b/.jenkins/common.groovy index 79ebcb6f..9aac14e6 100644 --- a/.jenkins/common.groovy +++ b/.jenkins/common.groovy @@ -11,11 +11,19 @@ def runCompileCommand(platform, project, jobName, boolean debug=false, boolean s //Set CI node's gfx arch as target if PR, otherwise use default targets of the library String amdgpuTargets = env.BRANCH_NAME.startsWith('PR-') ? '-DAMDGPU_TARGETS=\$gfx_arch' : '' - def getRocPRIM = auxiliary.getLibrary('rocPRIM', platform.jenkinsLabel, null, sameOrg) + def getDependenciesCommand = "" + if (project.installLibraryDependenciesFromCI) + { + project.libraryDependencies.each + { + libraryName -> + getDependenciesCommand += auxiliary.getLibrary(libraryName, platform.jenkinsLabel, 'develop', sameOrg) + } + } def command = """#!/usr/bin/env bash set -x - ${getRocPRIM} + ${getDependenciesCommand} cd ${project.paths.project_build_prefix} mkdir -p build/${buildTypeDir} && cd build/${buildTypeDir} ${auxiliary.gfxTargetParser()} diff --git a/.jenkins/precheckin.groovy b/.jenkins/precheckin.groovy index 074bc536..9f58ace1 100644 --- a/.jenkins/precheckin.groovy +++ b/.jenkins/precheckin.groovy @@ -15,6 +15,7 @@ def runCI = def prj = new rocProject('hipCUB', 'PreCheckin') prj.timeout.compile = 400 + prj.libraryDependencies = ["rocPRIM"] // Define test architectures, optional rocm version argument is available def nodes = new dockerNodes(nodeDetails, jobName, prj) diff --git a/.jenkins/staticlibrary.groovy b/.jenkins/staticlibrary.groovy index 549913d8..0cebce45 100644 --- a/.jenkins/staticlibrary.groovy +++ b/.jenkins/staticlibrary.groovy @@ -10,6 +10,9 @@ def runCI = def prj = new rocProject('hipCUB', 'Static Library PreCheckin') + prj.libraryDependencies = ["rocPRIM"] + prj.timeout.compile = 500 + def nodes = new dockerNodes(nodeDetails, jobName, prj) def commonGroovy @@ -55,6 +58,7 @@ ci: { "rocm-docker":([ubuntu16:['gfx900'],centos7:['gfx906'],sles15sp1:['gfx908']])] jobNameList = auxiliary.appendJobNameList(jobNameList) + auxiliary.registerDependencyBranchParameter(["rocPRIM"]) propertyList.each { jobName, property->