About thrust in cuda 13.2

I find some errors when i compile with cuda 13.2.1, I tried/sd: c++14, but it didn’t work.

1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\type_traits.h(43,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\type_traits.h(43,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\type_traits.h(43,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\type_traits\is_call_possible.h(35,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\type_traits\is_call_possible.h(35,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\type_traits\is_call_possible.h(35,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\type_traits\is_metafunction_defined.h(32,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\type_traits\is_metafunction_defined.h(32,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\type_traits\is_metafunction_defined.h(32,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\type_traits\is_thrust_pointer.h(23,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\type_traits\is_thrust_pointer.h(23,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\type_traits\is_thrust_pointer.h(23,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\execution_policy.h(15,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\execution_policy.h(15,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\execution_policy.h(15,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\iterator\detail\any_system_tag.h(30,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\iterator\detail\any_system_tag.h(30,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\iterator\detail\any_system_tag.h(30,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cuda_runtime_api.h(13772,1): warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cuda_runtime_api.h(14259,1): warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\util_macro.cuh(24,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\util_macro.cuh(24,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\util_macro.cuh(24,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cuda_runtime_api.h(13772,1): warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cuda_runtime_api.h(14259,1): warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cuda_runtime_api.h(13772,1): warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cuda_runtime_api.h(14259,1): warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\util_arch.cuh(35,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\util_arch.cuh(35,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\util_arch.cuh(35,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\util_debug.cuh(83,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\util_debug.cuh(83,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\util_debug.cuh(83,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\cuda\config.h(98,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\cuda\config.h(98,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\cuda\config.h(98,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\cuda\config.h(121,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\cuda\config.h(121,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\cuda\config.h(121,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\alignment.h(36,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\alignment.h(36,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\alignment.h(36,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\execute_with_allocator_fwd.h(31,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\execute_with_allocator_fwd.h(31,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\execute_with_allocator_fwd.h(31,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\allocator_aware_execution_policy.h(35,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\allocator_aware_execution_policy.h(35,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\allocator_aware_execution_policy.h(35,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\detail\sequential\execution_policy.h(16,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\detail\sequential\execution_policy.h(16,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\detail\sequential\execution_policy.h(16,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\seq.h(17,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\seq.h(17,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\seq.h(17,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\util_policy_wrapper_t.cuh(9,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\util_policy_wrapper_t.cuh(9,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\util_policy_wrapper_t.cuh(9,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\detail\type_traits.cuh(40,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\detail\type_traits.cuh(40,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\detail\type_traits.cuh(40,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\detail\uninitialized_copy.cuh(21,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\detail\uninitialized_copy.cuh(21,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\detail\uninitialized_copy.cuh(21,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\iterator\detail\any_assign.h(29,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\iterator\detail\any_assign.h(29,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\iterator\detail\any_assign.h(29,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\util_type.cuh(41,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\util_type.cuh(41,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\util_type.cuh(41,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\util_type.cuh(899,44): warning C4003: not enough arguments for function-like macro invocation ‘max’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\util_temporary_storage.cuh(28,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\util_temporary_storage.cuh(28,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\util_temporary_storage.cuh(28,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\util_device.cuh(47,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\util_device.cuh(47,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\cub\util_device.cuh(47,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\detail\errno.h(34,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\detail\errno.h(34,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\detail\errno.h(34,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\error_code.h(40,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\error_code.h(40,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\error_code.h(40,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\tuple.h(44,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\tuple.h(44,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\tuple.h(44,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\functional\actor.h(45,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\functional\actor.h(45,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\functional\actor.h(45,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\functional.h(44,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\functional.h(44,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\functional.h(44,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\functional\operators.h(43,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\functional\operators.h(43,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\functional\operators.h(43,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\type_traits\is_commutative.h(32,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\type_traits\is_commutative.h(32,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\detail\type_traits\is_commutative.h(32,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\detail\error_category.inl(35,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\detail\error_category.inl(35,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\detail\error_category.inl(35,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\detail\error_code.inl(31,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\detail\error_code.inl(31,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\detail\error_code.inl(31,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\detail\error_condition.inl(32,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\detail\error_condition.inl(32,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\detail\error_condition.inl(32,1): error C2447: ‘{’: missing function header (old-style formal list?)
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\cuda\error.h(35,1): error C2059: syntax error: ‘(’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\cuda\error.h(35,1): error C2143: syntax error: missing ‘;’ before ‘{’
1>C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl\thrust\system\cuda\error.h(35,1): fatal error C1003: error count exceeds 100; stopping compilation

the code is as follows;

// 文件名: thrust_sort_benchmark.cu

#include <thrust/host_vector.h>
#include <thrust/device_vector.h>
#include <thrust/sort.h>
#include <thrust/copy.h>

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <chrono>
#include <algorithm>

int main() {
	// 1. 设置测试数据量
	const int N = 50 * 1000 * 1000;  // 5千万个整数
	std::cout << "正在对 " << N << " 个随机整数进行排序测试...\n";

	// 2. 生成随机数据
	std::srand(static_cast<unsigned int>(std::time(nullptr)));
	thrust::host_vector<int> h_vec(N);
	for (int i = 0; i < N; ++i) {
		h_vec[i] = std::rand() % N;  // 生成 0 到 N-1 之间的随机整数
	}

	// 3. 将数据拷贝到GPU
	thrust::device_vector<int> d_vec = h_vec;

	// 4. GPU 排序 (thrust::sort)
	auto gpu_start = std::chrono::high_resolution_clock::now();
	thrust::sort(d_vec.begin(), d_vec.end());
	auto gpu_end = std::chrono::high_resolution_clock::now();
	std::chrono::duration<double, std::milli> gpu_sort_time = gpu_end - gpu_start;

	// 5. CPU 排序 (std::sort) 作为性能对比基准
	thrust::host_vector<int> h_vec_copy = h_vec; // 拷贝一份用于CPU排序,避免GPU排序影响
	auto cpu_start = std::chrono::high_resolution_clock::now();
	std::sort(h_vec_copy.begin(), h_vec_copy.end());
	auto cpu_end = std::chrono::high_resolution_clock::now();
	std::chrono::duration<double, std::milli> cpu_sort_time = cpu_end - cpu_start;

	// 6. 结果验证 (从GPU拷贝回部分数据检查)
	thrust::host_vector<int> sorted_h_vec = d_vec;
	bool is_sorted = true;
	for (int i = 1; i < sorted_h_vec.size(); ++i) {
		if (sorted_h_vec[i] < sorted_h_vec[i - 1]) {
			is_sorted = false;
			break;
		}
	}

	// 7. 输出结果
	std::cout << "\n========== 测试结果 ==========\n";
	std::cout << "排序结果验证: " << (is_sorted ? "通过 ✓" : "失败 ✗") << "\n";
	std::cout << "GPU 排序耗时 (thrust::sort): " << gpu_sort_time.count() << " ms\n";
	std::cout << "CPU 排序耗时 (std::sort) : " << cpu_sort_time.count() << " ms\n";
	std::cout << "加速比 (CPU耗时/GPU耗时) : " << (cpu_sort_time.count() / gpu_sort_time.count()) << "x\n";
	std::cout << "==============================\n";

	// 8. 打印部分排序结果示例
	std::cout << "\n排序结果示例 (前10个元素):\n";
	for (int i = 0; i < 10 && i < sorted_h_vec.size(); ++i) {
		std::cout << sorted_h_vec[i] << " ";
	}
	std::cout << "\n...\n";

	return 0;
}

I didn’t have any trouble compiling it on godbolt. There may be a problem with your machine setup.

My compilation environment is MSVC2022 with std:c++17, cuda13.2.1

I have resolved the problem, thank you.

@wanli.teng I have encountered the same problem. How did you resolve the issue?

1、include add C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.2\include\cccl

because the include of thrustmove to cccl folder

2、use c++17 or above:-std=c++17 -Xcompiler “/std:c++17”,set in cuda c/c++ command line

3、use /Zc:preprocessor in cuda c/c++ additional compiler options

Thanks! We were already doing those. In our case, it was because the file was being compiled with MSVC rather than nvcc (not sure whether the fact this used to work using the 12.x CUDA Toolkit was just luck or whether something has changed in CUDA 13.x)