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); | |