diff --git a/examples/vector_add/main.cu b/examples/vector_add/main.cu index dfe8a63..f71f08c 100644 --- a/examples/vector_add/main.cu +++ b/examples/vector_add/main.cu @@ -30,13 +30,14 @@ template void run_kernel(int n) { double constant = 1.0; std::vector input(n); - std::vector output_expected; - std::vector output_result; + std::vector output_expected(n); + std::vector output_result(n); // Generate input data for (int i = 0; i < n; i++) { input[i] = half(i); - output_expected[i] = float(i + constant); + output_expected[i] = + float(half(float(input[i]) * float(input[i]) + float(half(constant)))); } // Allocate device memory @@ -59,7 +60,7 @@ void run_kernel(int n) { kf::make_vec_ptr(output_dev)); // Copy results back - cuda_check(cudaMemcpy(output_dev, output_result.data(), sizeof(float) * n, cudaMemcpyDefault)); + cuda_check(cudaMemcpy(output_result.data(), output_dev, sizeof(float) * n, cudaMemcpyDefault)); // Check results for (int i = 0; i < n; i++) { diff --git a/examples/vector_add_tiling/main.cu b/examples/vector_add_tiling/main.cu index 14a0983..af519f2 100644 --- a/examples/vector_add_tiling/main.cu +++ b/examples/vector_add_tiling/main.cu @@ -33,13 +33,14 @@ template void run_kernel(int n) { double constant = 1.0; std::vector input(n); - std::vector output_expected; - std::vector output_result; + std::vector output_expected(n); + std::vector output_result(n); // Generate input data for (int i = 0; i < n; i++) { input[i] = half(i); - output_expected[i] = float(i + constant); + output_expected[i] = + float(half(float(input[i]) * float(input[i]))) * float(constant); } // Allocate device memory @@ -58,7 +59,7 @@ void run_kernel(int n) { <<>>(n, input_dev, constant, output_dev); // Copy results back - cuda_check(cudaMemcpy(output_dev, output_result.data(), sizeof(float) * n, cudaMemcpyDefault)); + cuda_check(cudaMemcpy(output_result.data(), output_dev, sizeof(float) * n, cudaMemcpyDefault)); // Check results for (int i = 0; i < n; i++) {