diff --git a/hpvm/projects/hpvm-tensor-rt/CMakeLists.txt b/hpvm/projects/hpvm-tensor-rt/CMakeLists.txt index 3b1fbf8f930ace7101820c92111018b8c862189e..489d38313bb0f82d97f7a4590af59211e898f02b 100644 --- a/hpvm/projects/hpvm-tensor-rt/CMakeLists.txt +++ b/hpvm/projects/hpvm-tensor-rt/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required (VERSION 3.17) -project (hpvm-tensor-rt) +project(hpvm-tensor-rt) find_package(CUDA 6.5 REQUIRED) set(CUDA_SEPARABLE_COMPILATION ON CACHE BOOL "") set(CUDA_PROPAGATE_HOST_FLAGS OFF) @@ -71,16 +71,18 @@ foreach(FILE ${RUNTIME_SRCS_FILENAME}) list(APPEND RUNTIME_SRCS "tensor_runtime/src/${FILE}") endforeach() -# Default link libraries -find_library(GPU_PROFILER_LIB - NAMES libgpu_profiler.a - HINTS ../gpu_profiler/lib -) -find_library(SOC_SIMULATOR_LIB - NAMES libpromise_profiler.a - HINTS ../soc_simulator/lib -) -set(LINK_LIBS cudnn cufft stdc++fs curand) +# Compile gpu_profiler and soc_simulator +# Conditionally add gpu_profiler project if we're building independently +# (not building the whole hpvm) +get_filename_component(root_dir ${CMAKE_SOURCE_DIR} REALPATH) +get_filename_component(our_dir ${CMAKE_CURRENT_SOURCE_DIR} REALPATH) +if(${root_dir} STREQUAL ${our_dir}) + message("Compiling hpvm-tensor-rt independently") + message("Also compiling gpu_profiler and soc_simulator") + add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../gpu_profiler ${CMAKE_CURRENT_BINARY_DIR}/gpu_profiler) + add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../soc_simulator ${CMAKE_CURRENT_BINARY_DIR}/soc_simulator) +endif() +set(LINK_LIBS gpu_profiler promise_profiler cudnn cufft stdc++fs curand) if(USE_GFLAGS) list(APPEND LINK_LIBS gflags) endif()