diff --git a/include/__memory/uninitialized_algorithms.h b/include/__memory/uninitialized_algorithms.h
index 2a4ecf6..e2a6f8d 100644
--- a/include/__memory/uninitialized_algorithms.h
+++ b/include/__memory/uninitialized_algorithms.h
@@ -558,6 +558,7 @@ struct __allocator_has_trivial_copy_construct : _Not<__has_construct<_Alloc, _Ty
 template <class _Type>
 struct __allocator_has_trivial_copy_construct<allocator<_Type>, _Type> : true_type {};
 
+#ifndef __CUDACC__
 template <class _Alloc,
           class _In,
           class _RawTypeIn = __remove_const_t<_In>,
@@ -581,6 +582,7 @@ __uninitialized_allocator_copy_impl(_Alloc&, _In* __first1, _In* __last1, _Out*
     return std::copy(__first1, __last1, const_cast<_RawTypeIn*>(__first2));
   }
 }
+#endif // __CUDACC__
 
 template <class _Alloc, class _Iter1, class _Sent1, class _Iter2>
 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _Iter2
@@ -623,7 +625,7 @@ struct __allocator_has_trivial_move_construct : _Not<__has_construct<_Alloc, _Ty
 template <class _Type>
 struct __allocator_has_trivial_move_construct<allocator<_Type>, _Type> : true_type {};
 
-#ifndef _LIBCPP_COMPILER_GCC
+#if !defined(_LIBCPP_COMPILER_GCC) && !defined(__CUDACC__)
 template <
     class _Alloc,
     class _Iter1,
@@ -644,7 +646,7 @@ __uninitialized_allocator_move_if_noexcept(_Alloc&, _Iter1 __first1, _Iter1 __la
     return std::move(__first1, __last1, __first2);
   }
 }
-#endif // _LIBCPP_COMPILER_GCC
+#endif // !defined(_LIBCPP_COMPILER_GCC) && !defined(__CUDACC__)
 
 _LIBCPP_END_NAMESPACE_STD