Pull request #8191 updated Connecting to https://api.github.com using 476720/****** Obtained .jenkins/continuous.groovy from e0d4fc50068f0a9cbf3db5869df39585ee6b2f7b+99083d1b87d1403171a261a09c78f817d6f5e558 (d205a9ffdc5adcca67de3756f67cde24b5e219fe) [Pipeline] Start of Pipeline [Pipeline] withEnv [Pipeline] { [Pipeline] timeout Timeout set to expire in 6 hr 0 min [Pipeline] { [Pipeline] stage [Pipeline] { (Clang-Format) [Pipeline] node Running on fetnat_07 in /var/jenkins/workspace/Kokkos_PR-8191 [Pipeline] { [Pipeline] checkout Selected Git installation does not exist. Using Default The recommended git tool is: NONE using credential Jenkins ORNL Fetching changes from the remote Git repository Fetching without tags > git rev-parse --resolve-git-dir /var/jenkins/workspace/Kokkos_PR-8191/.git # timeout=10 > git config remote.origin.url https://github.com/kokkos/kokkos.git # timeout=10 Fetching upstream changes from https://github.com/kokkos/kokkos.git > git --version # timeout=10 > git --version # 'git version 2.43.0' using GIT_ASKPASS to set credentials > git fetch --no-tags --force --progress -- https://github.com/kokkos/kokkos.git +refs/pull/8191/head:refs/remotes/origin/PR-8191 +refs/heads/develop:refs/remotes/origin/develop # timeout=10 Merging remotes/origin/develop commit 99083d1b87d1403171a261a09c78f817d6f5e558 into PR head commit e0d4fc50068f0a9cbf3db5869df39585ee6b2f7b Merge succeeded, producing e0d4fc50068f0a9cbf3db5869df39585ee6b2f7b Checking out Revision e0d4fc50068f0a9cbf3db5869df39585ee6b2f7b (PR-8191) Commit message: "step 2 let's keep a type instead of a tuple and let's rename it `DeviceHandle`" > git config core.sparsecheckout # timeout=10 > git checkout -f e0d4fc50068f0a9cbf3db5869df39585ee6b2f7b # timeout=10 > git remote # timeout=10 > git config --get remote.origin.url # timeout=10 using GIT_ASKPASS to set credentials > git merge 99083d1b87d1403171a261a09c78f817d6f5e558 # timeout=10 > git rev-parse HEAD^{commit} # timeout=10 > git config core.sparsecheckout # timeout=10 > git checkout -f e0d4fc50068f0a9cbf3db5869df39585ee6b2f7b # timeout=10 > git rev-list --no-walk 1c3c47a0e4d2d0e3267bc40dc430d9b9201946be # timeout=10 [Pipeline] withEnv [Pipeline] { [Pipeline] isUnix [Pipeline] readFile [Pipeline] sh + docker build -t fc2ede39ab77580add5c460f340cbe7a3d267e64 -f scripts/docker/Dockerfile.clang scripts/docker DEPRECATED: The legacy builder is deprecated and will be removed in a future release. Install the buildx component to build images with BuildKit: https://docs.docker.com/go/buildx/ Sending build context to Docker daemon 19.97kB Step 1/4 : FROM ubuntu:24.04@sha256:2e863c44b718727c860746568e1d54afd13b2fa71b160f5cd9058fc436217b30 ---> 35a88802559d Step 2/4 : ARG ADDITIONAL_PACKAGES ---> Using cache ---> 29372c670505 Step 3/4 : RUN apt-get update && apt-get install -y bc git build-essential clang-format-16 wget ${ADDITIONAL_PACKAGES} && apt-get clean && rm -rf /var/lib/apt/lists/* ---> Using cache ---> 07a31b1c3b75 Step 4/4 : ENV CLANG_FORMAT_EXE=clang-format-16 ---> Using cache ---> 62fd68c676e0 Successfully built 62fd68c676e0 Successfully tagged fc2ede39ab77580add5c460f340cbe7a3d267e64:latest [Pipeline] isUnix [Pipeline] withEnv [Pipeline] { [Pipeline] sh + docker inspect -f . fc2ede39ab77580add5c460f340cbe7a3d267e64 . [Pipeline] } [Pipeline] // withEnv [Pipeline] withDockerContainer fetnat_07 seems to be running inside container 07b646f36d051f9f1e7031fad5dfcfb61f3898a4b57fbc0b5f7d73ddec7b08d8 $ docker run -t -d -u 0:0 -v /tmp/ccache.kokkos:/tmp/ccache -w /var/jenkins/workspace/Kokkos_PR-8191 --volumes-from 07b646f36d051f9f1e7031fad5dfcfb61f3898a4b57fbc0b5f7d73ddec7b08d8 -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** -e ******** fc2ede39ab77580add5c460f340cbe7a3d267e64 cat $ docker top 719107174f50d87b51498c86d49efb8f83420c70dcf1968e47c68ccbcecdbee0 -eo pid,comm [Pipeline] { [Pipeline] sh + ./scripts/docker/check_format_cpp.sh *** Running clang-format *** Running clang-format - done *** Running trailing whitespaces check *** Running trailing whitespaces check - done *** Running copyright *** Running copyright - done diff --git a/core/src/Cuda/Kokkos_Cuda_Graph_Impl.hpp b/core/src/Cuda/Kokkos_Cuda_Graph_Impl.hpp index 69c80beb9..6aa790c46 100644 --- a/core/src/Cuda/Kokkos_Cuda_Graph_Impl.hpp +++ b/core/src/Cuda/Kokkos_Cuda_Graph_Impl.hpp @@ -29,7 +29,7 @@ struct GraphImpl { public: using execution_space = Kokkos::Cuda; -private: + private: using device_handle_t = Kokkos::Impl::DeviceHandle; execution_space m_execution_space; @@ -88,7 +88,8 @@ private: } explicit GraphImpl(device_handle_t device_handle) - : m_execution_space(std::move(device_handle.m_exec)), m_graph_owning(true) { + : m_execution_space(std::move(device_handle.m_exec)), + m_graph_owning(true) { KOKKOS_IMPL_CUDA_SAFE_CALL( (m_execution_space.impl_internal_space_instance() ->cuda_graph_create_wrapper(&m_graph, cuda_graph_flags_t{0}))); @@ -198,7 +199,9 @@ private: m_graph_exec))); } - device_handle_t get_device_handle() const noexcept { return {m_execution_space}; } + device_handle_t get_device_handle() const noexcept { + return {m_execution_space}; + } auto create_root_node_ptr() { KOKKOS_EXPECTS(bool(m_graph)) diff --git a/core/src/HIP/Kokkos_HIP_Graph_Impl.hpp b/core/src/HIP/Kokkos_HIP_Graph_Impl.hpp index 329218493..c210e1d34 100644 --- a/core/src/HIP/Kokkos_HIP_Graph_Impl.hpp +++ b/core/src/HIP/Kokkos_HIP_Graph_Impl.hpp @@ -115,7 +115,8 @@ inline GraphImpl::GraphImpl(device_handle_t device_handle) ->hip_graph_create_wrapper(&m_graph, 0)); } -inline GraphImpl::GraphImpl(device_handle_t device_handle, hipGraph_t graph) +inline GraphImpl::GraphImpl(device_handle_t device_handle, + hipGraph_t graph) : m_execution_space(std::move(device_handle.m_exec)), m_graph(graph), m_graph_owning(false) { diff --git a/core/src/Kokkos_Graph.hpp b/core/src/Kokkos_Graph.hpp index c68cf1d89..6ca25c479 100644 --- a/core/src/Kokkos_Graph.hpp +++ b/core/src/Kokkos_Graph.hpp @@ -147,7 +147,8 @@ auto when_all(PredecessorRefs&&... arg_pred_refs) { template Graph create_graph( - Kokkos::Impl::DeviceHandle device_handle, Closure&& arg_closure) { + Kokkos::Impl::DeviceHandle device_handle, + Closure&& arg_closure) { // Create a shared pointer to the graph: // We need an attorney class here so we have an implementation friend to // create a Graph class without graph having public constructors. We can't diff --git a/core/src/impl/Kokkos_Default_Graph_Impl.hpp b/core/src/impl/Kokkos_Default_Graph_Impl.hpp index 312195dc1..9d34780d3 100644 --- a/core/src/impl/Kokkos_Default_Graph_Impl.hpp +++ b/core/src/impl/Kokkos_Default_Graph_Impl.hpp @@ -56,7 +56,8 @@ struct GraphImpl : private InstanceStorage { ~GraphImpl() = default; explicit GraphImpl(device_handle_t device_handle) - : execution_space_instance_storage_base_t(std::move(device_handle.m_exec)) {} + : execution_space_instance_storage_base_t( + std::move(device_handle.m_exec)) {} // end Constructors, destructor, and assignment }}}2 //---------------------------------------------------------------------------- diff --git a/core/src/impl/Kokkos_GraphNodeCtorProps.hpp b/core/src/impl/Kokkos_GraphNodeCtorProps.hpp index 04360d883..957f1cae7 100644 --- a/core/src/impl/Kokkos_GraphNodeCtorProps.hpp +++ b/core/src/impl/Kokkos_GraphNodeCtorProps.hpp @@ -11,7 +11,9 @@ template requires Kokkos::is_execution_space_v struct DeviceHandle { // A device is implicitly contained in an execution space instance. - static DeviceHandle from(Exec exec) { return DeviceHandle{.m_exec = std::move(exec)}; } + static DeviceHandle from(Exec exec) { + return DeviceHandle{.m_exec = std::move(exec)}; + } auto operator<=>(const DeviceHandle&) const = default; @@ -45,7 +47,8 @@ auto get_device_handle(Exec&& exec) { namespace Kokkos::Impl { template -concept ValidNodeProperty = std::same_as || is_device_handle_v; +concept ValidNodeProperty = + std::same_as || is_device_handle_v; // A single property. template @@ -78,7 +81,8 @@ struct NodeCtorProps : public NodeCtorPropTransform::type... { is_view_label, Kokkos::Impl::type_list>> <= 1, "Only one label allowed."); static_assert(Kokkos::Impl::type_list_size_v>> <= 1, + is_device_handle, Kokkos::Impl::type_list>> <= + 1, "Only one device handle allowed."); using uniform_type = diff --git a/core/src/impl/Kokkos_GraphNodeImpl.hpp b/core/src/impl/Kokkos_GraphNodeImpl.hpp index 9c457496d..6701f5a53 100644 --- a/core/src/impl/Kokkos_GraphNodeImpl.hpp +++ b/core/src/impl/Kokkos_GraphNodeImpl.hpp @@ -38,7 +38,7 @@ struct GraphNodeImpl; using execution_space_storage_base_t = InstanceStorage; - using device_handle_t = Kokkos::Impl::DeviceHandle; + using device_handle_t = Kokkos::Impl::DeviceHandle; public: virtual ~GraphNodeImpl() = default; @@ -48,7 +48,8 @@ struct GraphNodeImpl {{{2 explicit GraphNodeImpl(device_handle_t device_handle) noexcept - : implementation_base_t(), execution_space_storage_base_t(std::move(device_handle.m_exec)) {} + : implementation_base_t(), + execution_space_storage_base_t(std::move(device_handle.m_exec)) {} // end protected ctors and destructors }}}2 //---------------------------------------------------------------------------- @@ -135,10 +136,12 @@ struct GraphNodeImpl || std::is_same_v>> GraphNodeImpl(device_handle_t device_handle, Tag, KernelDeduced&& arg_kernel) - : base_t(std::move(device_handle)), m_kernel{(KernelDeduced&&)arg_kernel} {} + : base_t(std::move(device_handle)), + m_kernel{(KernelDeduced&&)arg_kernel} {} template - GraphNodeImpl(device_handle_t device_handle, _graph_node_is_root_ctor_tag, Args&&... args) + GraphNodeImpl(device_handle_t device_handle, _graph_node_is_root_ctor_tag, + Args&&... args) : base_t(std::move(device_handle), _graph_node_is_root_ctor_tag{}, (Args&&)args...) {} @@ -234,8 +237,8 @@ struct GraphNodeImpl std::is_same_v || std::is_same_v || std::is_same_v>> - GraphNodeImpl(const device_handle_t& device_handle, Tag, KernelDeduced&& arg_kernel, - _graph_node_predecessor_ctor_tag, + GraphNodeImpl(const device_handle_t& device_handle, Tag, + KernelDeduced&& arg_kernel, _graph_node_predecessor_ctor_tag, PredecessorPtrDeduced&& arg_predecessor) : base_t(device_handle, Tag{}, (KernelDeduced&&)arg_kernel), // The backend gets the ability to store (weak, non-owning) references @@ -248,11 +251,11 @@ struct GraphNodeImpl // Root-tagged constructor template - GraphNodeImpl(const device_handle_t& device_handle, _graph_node_is_root_ctor_tag, - Args&&... args) + GraphNodeImpl(const device_handle_t& device_handle, + _graph_node_is_root_ctor_tag, Args&&... args) : base_t(device_handle, _graph_node_is_root_ctor_tag{}, (Args&&)args...), - backend_details_base_t(device_handle.m_exec, _graph_node_is_root_ctor_tag{}, - *this), + backend_details_base_t(device_handle.m_exec, + _graph_node_is_root_ctor_tag{}, *this), m_predecessor_ref() {} // end Ctors, destructors, and assignment }}}2 diff --git a/core/unit_test/TestGraphNodeCtorProps.hpp b/core/unit_test/TestGraphNodeCtorProps.hpp index 292d07d4f..510e150f3 100644 --- a/core/unit_test/TestGraphNodeCtorProps.hpp +++ b/core/unit_test/TestGraphNodeCtorProps.hpp @@ -53,7 +53,8 @@ TEST(TEST_CATEGORY, node_props_device_handle) { static_assert(Kokkos::Impl::is_node_props_v); static_assert(props_t::has == false); - static_assert(props_t::has> == true); + static_assert(props_t::has> == + true); const auto props = node_props(get_device_handle(TEST_EXECSPACE{})); @@ -66,14 +67,15 @@ TEST(TEST_CATEGORY, node_props_device_handle_label) { get_device_handle(std::declval()), "label")); static_assert( - std::same_as, std::string>>); + std::same_as, + std::string>>); static_assert(Kokkos::Impl::is_node_props_v); static_assert(props_t::has == true); - static_assert(props_t::has> == true); + static_assert(props_t::has> == + true); const auto props = node_props(get_device_handle(TEST_EXECSPACE{}), "label"); @@ -87,14 +89,15 @@ TEST(TEST_CATEGORY, node_props_label_device_handle) { "label", get_device_handle(std::declval()))); static_assert( - std::same_as>>); + std::same_as>>); static_assert(Kokkos::Impl::is_node_props_v); static_assert(props_t::has == true); - static_assert(props_t::has> == true); + static_assert(props_t::has> == + true); const auto props = node_props("label", get_device_handle(TEST_EXECSPACE{})); @@ -107,20 +110,24 @@ TEST(TEST_CATEGORY, node_props_with_properties_if_unset) { { const auto props_label_device_handle_old = node_props("label", get_device_handle(TEST_EXECSPACE{})); - const auto props_label_device_handle_new = - with_properties_if_unset(props_label_device_handle_old, "another label"); + const auto props_label_device_handle_new = with_properties_if_unset( + props_label_device_handle_old, "another label"); static_assert( - std::same_as>>); + std::same_as< + decltype(props_label_device_handle_old), + const Kokkos::Impl::NodeCtorProps< + std::string, Kokkos::Impl::DeviceHandle>>); static_assert( - std::same_as>>); - - ASSERT_EQ(get_property(props_label_device_handle_old), "label"); - ASSERT_EQ(get_property(props_label_device_handle_new), "label"); + std::same_as< + decltype(props_label_device_handle_new), + const Kokkos::Impl::NodeCtorProps< + std::string, Kokkos::Impl::DeviceHandle>>); + + ASSERT_EQ(get_property(props_label_device_handle_old), + "label"); + ASSERT_EQ(get_property(props_label_device_handle_new), + "label"); } { @@ -129,9 +136,10 @@ TEST(TEST_CATEGORY, node_props_with_properties_if_unset) { props_empty, "label", Kokkos::Impl::DeviceHandle{}); static_assert( - std::same_as>>); + std::same_as< + decltype(props_label_device_handle), + const Kokkos::Impl::NodeCtorProps< + std::string, Kokkos::Impl::DeviceHandle>>); ASSERT_EQ(get_property(props_label_device_handle), "label"); ASSERT_EQ(get_property>( [Pipeline] } $ docker stop --time=1 719107174f50d87b51498c86d49efb8f83420c70dcf1968e47c68ccbcecdbee0 $ docker rm -f --volumes 719107174f50d87b51498c86d49efb8f83420c70dcf1968e47c68ccbcecdbee0 [Pipeline] // withDockerContainer [Pipeline] } [Pipeline] // withEnv [Pipeline] } [Pipeline] // node [Pipeline] } [Pipeline] // stage [Pipeline] stage [Pipeline] { (Build-1) Stage "Build-1" skipped due to earlier failure(s) [Pipeline] getContext [Pipeline] parallel [Pipeline] { (Branch: C++20-Modules-Clang-19) [Pipeline] { (Branch: GCC-10.5.0) [Pipeline] { (Branch: HIP-ROCm-6.2-CXX20) [Pipeline] { (Branch: CUDA-12.2-NVCC-RDC) [Pipeline] stage [Pipeline] { (C++20-Modules-Clang-19) [Pipeline] stage [Pipeline] { (GCC-10.5.0) [Pipeline] stage [Pipeline] { (HIP-ROCm-6.2-CXX20) [Pipeline] stage [Pipeline] { (CUDA-12.2-NVCC-RDC) Stage "C++20-Modules-Clang-19" skipped due to earlier failure(s) [Pipeline] getContext [Pipeline] } Stage "GCC-10.5.0" skipped due to earlier failure(s) [Pipeline] getContext [Pipeline] } Stage "HIP-ROCm-6.2-CXX20" skipped due to earlier failure(s) [Pipeline] getContext [Pipeline] } Stage "CUDA-12.2-NVCC-RDC" skipped due to earlier failure(s) [Pipeline] getContext [Pipeline] } [Pipeline] // stage [Pipeline] // stage [Pipeline] // stage [Pipeline] // stage [Pipeline] } Failed in branch C++20-Modules-Clang-19 [Pipeline] } Failed in branch GCC-10.5.0 [Pipeline] } Failed in branch HIP-ROCm-6.2-CXX20 [Pipeline] } Failed in branch CUDA-12.2-NVCC-RDC [Pipeline] // parallel [Pipeline] } [Pipeline] // stage [Pipeline] stage [Pipeline] { (Build-2) Stage "Build-2" skipped due to earlier failure(s) [Pipeline] getContext [Pipeline] parallel [Pipeline] { (Branch: OPENACC-NVHPC-CUDA-12.2) [Pipeline] { (Branch: CUDA-12.2-NVHPC-AS-HOST-COMPILER) [Pipeline] { (Branch: SYCL-OneAPI) [Pipeline] { (Branch: HIP-ROCm-6.3) [Pipeline] { (Branch: HIP-ROCm-6.2-amdclang-CXX20) [Pipeline] { (Branch: OPENMPTARGET-Clang) [Pipeline] { (Branch: CUDA-11.8-Clang-15) [Pipeline] { (Branch: CUDA-12.5.1-Clang-17-RDC) [Pipeline] { (Branch: CUDA-13.0-NVCC-DEBUG) [Pipeline] stage [Pipeline] { (OPENACC-NVHPC-CUDA-12.2) [Pipeline] stage [Pipeline] { (CUDA-12.2-NVHPC-AS-HOST-COMPILER) [Pipeline] stage [Pipeline] { (SYCL-OneAPI) [Pipeline] stage [Pipeline] { (HIP-ROCm-6.3) [Pipeline] stage [Pipeline] { (HIP-ROCm-6.2-amdclang-CXX20) [Pipeline] stage [Pipeline] { (OPENMPTARGET-Clang) [Pipeline] stage [Pipeline] { (CUDA-11.8-Clang-15) [Pipeline] stage [Pipeline] { (CUDA-12.5.1-Clang-17-RDC) [Pipeline] stage [Pipeline] { (CUDA-13.0-NVCC-DEBUG) Stage "OPENACC-NVHPC-CUDA-12.2" skipped due to earlier failure(s) [Pipeline] getContext [Pipeline] } Stage "CUDA-12.2-NVHPC-AS-HOST-COMPILER" skipped due to earlier failure(s) [Pipeline] getContext [Pipeline] } Stage "SYCL-OneAPI" skipped due to earlier failure(s) [Pipeline] getContext [Pipeline] } Stage "HIP-ROCm-6.3" skipped due to earlier failure(s) [Pipeline] getContext [Pipeline] } Stage "HIP-ROCm-6.2-amdclang-CXX20" skipped due to earlier failure(s) [Pipeline] getContext [Pipeline] } Stage "OPENMPTARGET-Clang" skipped due to earlier failure(s) [Pipeline] getContext [Pipeline] } Stage "CUDA-11.8-Clang-15" skipped due to earlier failure(s) [Pipeline] getContext [Pipeline] } Stage "CUDA-12.5.1-Clang-17-RDC" skipped due to earlier failure(s) [Pipeline] getContext [Pipeline] } Stage "CUDA-13.0-NVCC-DEBUG" skipped due to earlier failure(s) [Pipeline] getContext [Pipeline] } [Pipeline] // stage [Pipeline] // stage [Pipeline] // stage [Pipeline] // stage [Pipeline] // stage [Pipeline] // stage [Pipeline] // stage [Pipeline] // stage [Pipeline] // stage [Pipeline] } Failed in branch OPENACC-NVHPC-CUDA-12.2 [Pipeline] } Failed in branch CUDA-12.2-NVHPC-AS-HOST-COMPILER [Pipeline] } Failed in branch SYCL-OneAPI [Pipeline] } Failed in branch HIP-ROCm-6.3 [Pipeline] } Failed in branch HIP-ROCm-6.2-amdclang-CXX20 [Pipeline] } Failed in branch OPENMPTARGET-Clang [Pipeline] } Failed in branch CUDA-11.8-Clang-15 [Pipeline] } Failed in branch CUDA-12.5.1-Clang-17-RDC [Pipeline] } Failed in branch CUDA-13.0-NVCC-DEBUG [Pipeline] // parallel [Pipeline] } [Pipeline] // stage [Pipeline] } [Pipeline] // timeout [Pipeline] } [Pipeline] // withEnv [Pipeline] End of Pipeline ERROR: script returned exit code 1 GitHub has been notified of this commit’s build result Finished: FAILURE