From a414e3fdf83272cbb965c5846f677007c5391d6a Mon Sep 17 00:00:00 2001 From: Chao Liu Date: Fri, 15 Feb 2019 02:06:34 -0600 Subject: [PATCH] update build --- CMakeLists.txt | 3 ++- driver/CMakeLists.txt | 6 +++++- driver/driver.cu | 1 + driver/{driver.cpp => driver.hip.cpp} | 14 +++++++------- src/CMakeLists.txt | 2 +- src/include/device.hpp | 2 +- 6 files changed, 17 insertions(+), 11 deletions(-) create mode 120000 driver/driver.cu rename driver/{driver.cpp => driver.hip.cpp} (99%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 252807ff4c..ac610cd9d5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,5 @@ -cmake_minimum_required(VERSION 2.8.3) +#cmake_minimum_required(VERSION 2.8.3) +cmake_minimum_required(VERSION 3.9) project(modular_convolution) #c++ diff --git a/driver/CMakeLists.txt b/driver/CMakeLists.txt index 1497be2006..c5c2a0fd72 100644 --- a/driver/CMakeLists.txt +++ b/driver/CMakeLists.txt @@ -1,4 +1,8 @@ -set(DRIVER_SOURCE driver.cpp) +if(DEVICE_BACKEND STREQUAL "HIP") + set(DRIVER_SOURCE driver.hip.cpp) +elseif(DEVICE_BACKEND STREQUAL "CUDA") + set(DRIVER_SOURCE driver.cu) +endif() add_executable(driver ${DRIVER_SOURCE}) target_link_libraries(driver PRIVATE tensor) diff --git a/driver/driver.cu b/driver/driver.cu new file mode 120000 index 0000000000..974d4de85e --- /dev/null +++ b/driver/driver.cu @@ -0,0 +1 @@ +driver.hip.cpp \ No newline at end of file diff --git a/driver/driver.cpp b/driver/driver.hip.cpp similarity index 99% rename from driver/driver.cpp rename to driver/driver.hip.cpp index 80c1329d2c..8b5a71a7e5 100644 --- a/driver/driver.cpp +++ b/driver/driver.hip.cpp @@ -50,7 +50,7 @@ struct GeneratorTensor_3 std::initializer_list ids = {static_cast(is)...}; std::vector lens(sizeof...(Is), 100); std::vector strides(sizeof...(Is), 1); - std::partial_sum(lens.rbegin(), lens.rbegin() + (sizeof...(Is)-1), strides.rbegin() + 1); + std::partial_sum(lens.rbegin(), lens.rbegin() + (sizeof...(Is) - 1), strides.rbegin() + 1); return std::inner_product(ids.begin(), ids.end(), strides.begin(), std::size_t(0)) + 1; #endif } @@ -340,7 +340,7 @@ void host_winograd_3x3_convolution( std::size_t ho = OutTileSizeH * y + j; for(int i = 0; i < OutTileSizeW; ++i) { - std::size_t wo = OutTileSizeW * x + i; + std::size_t wo = OutTileSizeW * x + i; out(n, k, ho, wo) = out_hold(n, k, y, x, j, i); } } @@ -393,13 +393,13 @@ int main() constexpr unsigned WPad = 0; #elif 0 // 3x3, 34x34 - constexpr unsigned N = 64; - constexpr unsigned C = 256; + constexpr unsigned N = 64; + constexpr unsigned C = 256; constexpr unsigned HI = 34; constexpr unsigned WI = 34; - constexpr unsigned K = 64; - constexpr unsigned S = 3; - constexpr unsigned R = 3; + constexpr unsigned K = 64; + constexpr unsigned S = 3; + constexpr unsigned R = 3; constexpr unsigned HPad = 0; constexpr unsigned WPad = 0; diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a8f81127f5..31300c8600 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -11,7 +11,7 @@ set_target_properties(tensor PROPERTIES POSITION_INDEPENDENT_CODE ON) if(DEVICE_BACKEND STREQUAL "CUDA") - target_link_libraries(device nvToolsExt cudart) + target_link_libraries(tensor nvToolsExt cudart) endif() install(TARGETS tensor LIBRARY DESTINATION lib) diff --git a/src/include/device.hpp b/src/include/device.hpp index 3a131a2aa3..3d88454146 100644 --- a/src/include/device.hpp +++ b/src/include/device.hpp @@ -43,7 +43,7 @@ float launch_kernel(F kernel, dim3 grid_dim, dim3 block_dim, Args... args) hipGetErrorString(hipGetLastError()); #elif DEVICE_BACKEND_CUDA const void* f = reinterpret_cast(kernel); - void* p_args = {&args...}; + void* p_args[] = {&args...}; timer.Start();