# University Tuebingen, 2018 # Authors: Fabian Groh, Patrick Wieschollek, Hendrik P.A. Lensch cmake_minimum_required( VERSION 2.8 ) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) project( FlexConv ) list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}) find_package(CUDA REQUIRED) find_package(TensorFlow REQUIRED) if (DEFINED ENV{CUB_INC}) message(STATUS "Use Cuda-CUB from " $ENV{CUB_INC}) set(CUB_INC $ENV{CUB_INC}) else() message(FATAL_ERROR "requires 'export CUB_INC=/path/to/cub") endif() # set necessary flags set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SSE_FLAGS} -march=native -fopenmp -O3 -D_GLIBCXX_USE_CXX11_ABI=${TensorFlow_ABI}") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fPIC --shared -D_GLIBCXX_USE_CXX11_ABI=${TensorFlow_ABI}" ) set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS} -std=c++11 -O3 -Xptxas=-v --expt-relaxed-constexpr -D GOOGLE_CUDA=1 --gpu-architecture=sm_52 -D_GLIBCXX_USE_CXX11_ABI=${TensorFlow_ABI}" ) # quick fix for drone-ci include_directories(SYSTEM "/usr/local/") # fix cgtuebingen include_directories(SYSTEM "/graphics/opt/opt_Ubuntu18.04/cuda/toolkit_9.2") include_directories(SYSTEM ${CUB_INC}) include_directories(SYSTEM ${TensorFlow_INCLUDE_DIR}) include_directories(SYSTEM kernels) add_tensorflow_gpu_operation("flex_conv") add_tensorflow_gpu_operation("flex_deconv") add_tensorflow_gpu_operation("flex_pool")