Moved device code to mimic cuda header behavior

1. All fp32, fp64 math device/host functions should be in math_functions.h/.cpp
2. All fp32, fp64 fast math intrinsics for device/host functions should be in device_functions.h/.cpp
3. All the device code implementations should be in device_util.h/.cpp
4. Hence, made changes appropriately by moving code and creating new header files
5. Added math_functions.cpp/.h
6. Changed #ifndef signature to make sure no conflicts between headers with same names in hip/hip_runtime.h and hip/hcc_detail/hip_runtime.h
7. Changed tests to fit the code changes, making them to include appropriate headers
8. Added math_functions.cpp to CMakeLists.txt
9. Some of the tests are still broken, mostly host math functions will fix them in next commit
10. TODO: FIX compilation issues for host math functions

Change-Id: I7a17637d7e294a7d224ffba932c1a08668febd26
Этот коммит содержится в:
Aditya Atluri
2017-01-17 14:57:51 -06:00
родитель 13ce9ece77
Коммит b723169ee9
30 изменённых файлов: 1759 добавлений и 1540 удалений
+2 -1
Просмотреть файл
@@ -24,6 +24,7 @@ THE SOFTWARE.
#include<iostream>
#include"test_common.h"
#include"hip/math_functions.h"
const int NN = 1 << 21;
@@ -31,7 +32,7 @@ __global__ void kernel(hipLaunchParm lp, float *x, float *y, int n){
int tid = hipThreadIdx_x;
if(tid < 1){
for(int i=0;i<n;i++){
x[i] = sqrt(pow(3.14159,i));
x[i] = sqrt(powf(3.14159,i));
}
y[tid] = y[tid] + 1.0f;
}