From 2f46ada04229ff7cc88d9ac971b09c6f5b8834bf Mon Sep 17 00:00:00 2001 From: Aditya Atluri Date: Tue, 29 Mar 2016 09:22:31 -0500 Subject: [PATCH 1/2] Added tests for running device code from a difference source file --- tests/src/hipDeviceBody.cpp | 5 +++++ tests/src/hipDeviceHeader.h | 6 ++++++ tests/src/hipDeviceSrc.cpp | 30 ++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 tests/src/hipDeviceBody.cpp create mode 100644 tests/src/hipDeviceHeader.h create mode 100644 tests/src/hipDeviceSrc.cpp diff --git a/tests/src/hipDeviceBody.cpp b/tests/src/hipDeviceBody.cpp new file mode 100644 index 0000000000..fb0b980713 --- /dev/null +++ b/tests/src/hipDeviceBody.cpp @@ -0,0 +1,5 @@ +#include"hipDeviceHeader.h" + +__device__ int add(int &a, int &b){ + return a+b; +} diff --git a/tests/src/hipDeviceHeader.h b/tests/src/hipDeviceHeader.h new file mode 100644 index 0000000000..265a2073c6 --- /dev/null +++ b/tests/src/hipDeviceHeader.h @@ -0,0 +1,6 @@ +#ifndef HIPDEVICEHEADER_H +#define HIPDEVICEHEADER_H +#include"test_common.h" +__device__ int add(int a, int b); + +#endif diff --git a/tests/src/hipDeviceSrc.cpp b/tests/src/hipDeviceSrc.cpp new file mode 100644 index 0000000000..862d84f06a --- /dev/null +++ b/tests/src/hipDeviceSrc.cpp @@ -0,0 +1,30 @@ +#include"hipDeviceHeader.h" + +#define LEN 1024*1024 +#define SIZE LEN * sizeof(int) + +__global__ void deviceAdd(hipLaunchParm lp, int *Ad, int *Bd, int *Cd){ + int tx = hipThreadIdx_x + hipBlockIdx_x * hipBlockDim_x; + Cd[tx] = add(Ad[tx], Bd[tx]); +} + +int main(){ + int *A, *B, *C, *Ad, *Bd, *Cd; + A = new int[LEN]; + B = new int[LEN]; + C = new int[LEN]; + + for(int i=0;i Date: Tue, 29 Mar 2016 09:27:57 -0500 Subject: [PATCH 2/2] added host flags to hipDeviceBody test --- tests/src/hipDeviceBody.cpp | 2 +- tests/src/hipDeviceHeader.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/src/hipDeviceBody.cpp b/tests/src/hipDeviceBody.cpp index fb0b980713..2e740cf748 100644 --- a/tests/src/hipDeviceBody.cpp +++ b/tests/src/hipDeviceBody.cpp @@ -1,5 +1,5 @@ #include"hipDeviceHeader.h" -__device__ int add(int &a, int &b){ +__host__ __device__ int add(int &a, int &b){ return a+b; } diff --git a/tests/src/hipDeviceHeader.h b/tests/src/hipDeviceHeader.h index 265a2073c6..eb7bd05aa5 100644 --- a/tests/src/hipDeviceHeader.h +++ b/tests/src/hipDeviceHeader.h @@ -1,6 +1,7 @@ #ifndef HIPDEVICEHEADER_H #define HIPDEVICEHEADER_H #include"test_common.h" -__device__ int add(int a, int b); + +__host__ __device__ int add(int a, int b); #endif