summaryrefslogtreecommitdiff
path: root/Tests/Cuda/Complex/file3.cu
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/Cuda/Complex/file3.cu')
-rw-r--r--Tests/Cuda/Complex/file3.cu26
1 files changed, 26 insertions, 0 deletions
diff --git a/Tests/Cuda/Complex/file3.cu b/Tests/Cuda/Complex/file3.cu
new file mode 100644
index 0000000000..7c37d66be8
--- /dev/null
+++ b/Tests/Cuda/Complex/file3.cu
@@ -0,0 +1,26 @@
+
+#include <iostream>
+
+#include "file1.h"
+#include "file2.h"
+
+result_type __device__ file1_func(int x);
+result_type_dynamic __device__ file2_func(int x);
+
+static __global__ void file3_kernel(result_type& r, int x)
+{
+ r = file1_func(x);
+ result_type_dynamic rd = file2_func(x);
+}
+
+int file3_launch_kernel(int x)
+{
+ result_type r;
+ file3_kernel<<<1, 1>>>(r, x);
+ cudaError_t err = cudaGetLastError();
+ if (err == cudaSuccess) {
+ std::cerr << cudaGetErrorString(err) << std::endl;
+ return x;
+ }
+ return r.sum;
+}