Spaces:
Runtime error
Runtime error
| void TestNvccIndependenceTransform(void) | |
| { | |
| typedef int T; | |
| const int n = 10; | |
| thrust::host_vector<T> h_input = unittest::random_integers<T>(n); | |
| thrust::device_vector<T> d_input = h_input; | |
| thrust::host_vector<T> h_output(n); | |
| thrust::device_vector<T> d_output(n); | |
| thrust::transform(h_input.begin(), h_input.end(), h_output.begin(), thrust::negate<T>()); | |
| thrust::transform(d_input.begin(), d_input.end(), d_output.begin(), thrust::negate<T>()); | |
| ASSERT_EQUAL(h_output, d_output); | |
| } | |
| DECLARE_UNITTEST(TestNvccIndependenceTransform); | |
| void TestNvccIndependenceReduce(void) | |
| { | |
| typedef int T; | |
| const int n = 10; | |
| thrust::host_vector<T> h_data = unittest::random_integers<T>(n); | |
| thrust::device_vector<T> d_data = h_data; | |
| T init = 13; | |
| T h_result = thrust::reduce(h_data.begin(), h_data.end(), init); | |
| T d_result = thrust::reduce(d_data.begin(), d_data.end(), init); | |
| ASSERT_ALMOST_EQUAL(h_result, d_result); | |
| } | |
| DECLARE_UNITTEST(TestNvccIndependenceReduce); | |
| void TestNvccIndependenceExclusiveScan(void) | |
| { | |
| typedef int T; | |
| const int n = 10; | |
| thrust::host_vector<T> h_input = unittest::random_integers<T>(n); | |
| thrust::device_vector<T> d_input = h_input; | |
| thrust::host_vector<T> h_output(n); | |
| thrust::device_vector<T> d_output(n); | |
| thrust::inclusive_scan(h_input.begin(), h_input.end(), h_output.begin()); | |
| thrust::inclusive_scan(d_input.begin(), d_input.end(), d_output.begin()); | |
| ASSERT_EQUAL(d_output, h_output); | |
| } | |
| DECLARE_UNITTEST(TestNvccIndependenceExclusiveScan); | |
| void TestNvccIndependenceSort(void) | |
| { | |
| typedef int T; | |
| const int n = 10; | |
| thrust::host_vector<T> h_data = unittest::random_integers<T>(n); | |
| thrust::device_vector<T> d_data = h_data; | |
| thrust::sort(h_data.begin(), h_data.end(), thrust::less<T>()); | |
| thrust::sort(d_data.begin(), d_data.end(), thrust::less<T>()); | |
| ASSERT_EQUAL(h_data, d_data); | |
| } | |
| DECLARE_UNITTEST(TestNvccIndependenceSort); | |