From 72b00a8a52b570f4248eae26a46873b8f5277000 Mon Sep 17 00:00:00 2001 From: Ilia Cherniavskii Date: Fri, 18 Dec 2020 07:03:49 -0800 Subject: [PATCH] Revert D25480770: Set USE_KINETO=1 Test Plan: revert-hammer Differential Revision: D25480770 (https://github.com/pytorch/pytorch/commit/1a92802bde28286f850b415bfd985515565740c3) Original commit changeset: 037cd774f554 fbshipit-source-id: 6a6062195033ca91fcc0cfa1e890e47efc774ac1 --- CMakeLists.txt | 22 +++++- cmake/Dependencies.cmake | 93 +++++++++---------------- setup.py | 4 +- torch/csrc/autograd/profiler_kineto.cpp | 2 +- 4 files changed, 56 insertions(+), 65 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 994e1e7b36b9..ba862b5a4d5f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -159,8 +159,7 @@ cmake_dependent_option( USE_STATIC_CUDNN "Use cuDNN static libraries" OFF "USE_CUDNN" OFF) option(USE_FBGEMM "Use FBGEMM (quantized 8-bit server operators)" ON) -option(USE_KINETO "Use Kineto profiling library" ON) -option(USE_CUPTI_SO "Use CUPTI as a shared library" OFF) +option(USE_KINETO "Use Kineto profiling library" OFF) option(USE_FAKELOWP "Use FakeLowp operators" OFF) option(USE_FFMPEG "Use ffmpeg" OFF) option(USE_GFLAGS "Use GFLAGS" OFF) @@ -516,12 +515,31 @@ if(USE_FBGEMM AND ((CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND CMAKE_SIZEOF_VO set(USE_FBGEMM OFF) endif() +if(USE_KINETO AND INTERN_BUILD_MOBILE) + message(STATUS "Not using libkineto in a mobile build.") + set(USE_KINETO OFF) +endif() + +if(USE_KINETO AND (NOT USE_CUDA)) + message(STATUS "Not using libkineto in a non-CUDA build.") + set(USE_KINETO OFF) +endif() + +if(USE_KINETO AND MSVC) + message(STATUS "Not using libkineto in a Windows build.") + set(USE_KINETO OFF) +endif() + include(cmake/Dependencies.cmake) if(USE_FBGEMM) string(APPEND CMAKE_CXX_FLAGS " -DUSE_FBGEMM") endif() +if(USE_KINETO) + string(APPEND CMAKE_CXX_FLAGS " -DUSE_KINETO") +endif() + if(USE_QNNPACK) string(APPEND CMAKE_CXX_FLAGS " -DUSE_QNNPACK") endif() diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake index d61daf6e478c..968456c40490 100644 --- a/cmake/Dependencies.cmake +++ b/cmake/Dependencies.cmake @@ -1788,70 +1788,43 @@ list(APPEND Caffe2_DEPENDENCY_LIBS fmt::fmt-header-only) set(BUILD_SHARED_LIBS ${TEMP_BUILD_SHARED_LIBS} CACHE BOOL "Build shared libs" FORCE) # ---[ Kineto -if(USE_KINETO AND INTERN_BUILD_MOBILE) - message(STATUS "Not using libkineto in a mobile build.") - set(USE_KINETO OFF) -endif() - -if(USE_KINETO AND (NOT USE_CUDA)) - message(STATUS "Not using libkineto in a non-CUDA build.") - set(USE_KINETO OFF) -endif() - -if(USE_KINETO AND MSVC) - message(STATUS "Not using libkineto in a Windows build.") - set(USE_KINETO OFF) -endif() if(USE_KINETO) - set(CAFFE2_THIRD_PARTY_ROOT "${PROJECT_SOURCE_DIR}/third_party" CACHE STRING "") - set(KINETO_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/kineto/libkineto" CACHE STRING "") - set(KINETO_BUILD_TESTS OFF CACHE BOOL "") - set(KINETO_LIBRARY_TYPE "static" CACHE STRING "") - set(CUDA_SOURCE_DIR "${CUDA_TOOLKIT_ROOT_DIR}" CACHE STRING "") - - message(STATUS "Configuring Kineto dependency:") - message(STATUS " KINETO_SOURCE_DIR = ${KINETO_SOURCE_DIR}") - message(STATUS " KINETO_BUILD_TESTS = ${KINETO_BUILD_TESTS}") - message(STATUS " KINETO_LIBRARY_TYPE = ${KINETO_LIBRARY_TYPE}") - message(STATUS " CUDA_SOURCE_DIR = ${CUDA_SOURCE_DIR}") - - if(EXISTS ${CUDA_SOURCE_DIR}/extras/CUPTI/lib64/libcupti_static.a) - set(CUDA_cupti_LIBRARY "${CUDA_SOURCE_DIR}/extras/CUPTI/lib64/libcupti_static.a") - elseif(EXISTS ${CUDA_SOURCE_DIR}/lib64/libcupti_static.a) - set(CUDA_cupti_LIBRARY "${CUDA_SOURCE_DIR}/lib64/libcupti_static.a") - elseif(USE_CUPTI_SO) - if(EXISTS ${CUDA_SOURCE_DIR}/extras/CUPTI/lib64/libcupti.so) - set(CUDA_cupti_LIBRARY "${CUDA_SOURCE_DIR}/extras/CUPTI/lib64/libcupti.so") - elseif(EXISTS ${CUDA_SOURCE_DIR}/lib64/libcupti.so) - set(CUDA_cupti_LIBRARY "${CUDA_SOURCE_DIR}/lib64/libcupti.so") - endif() - endif() - - if(EXISTS ${CUDA_SOURCE_DIR}/extras/CUPTI/include) - set(CUPTI_INCLUDE_DIR "${CUDA_SOURCE_DIR}/extras/CUPTI/include") - elseif(EXISTS ${CUDA_SOURCE_DIR}/include/cupti.h) - set(CUPTI_INCLUDE_DIR "${CUDA_SOURCE_DIR}/include") - endif() - - set(FOUND_CUPTI FALSE) - if((DEFINED CUPTI_INCLUDE_DIR) AND (DEFINED CUDA_cupti_LIBRARY)) - if((CUDA_cupti_LIBRARY MATCHES "libcupti_static.a") OR ((CUDA_cupti_LIBRARY MATCHES "libcupti.so") AND (USE_CUPTI_SO))) - set(FOUND_CUPTI TRUE) + if(USE_KINETO AND NOT TARGET kineto) + set(CAFFE2_THIRD_PARTY_ROOT "${PROJECT_SOURCE_DIR}/third_party" CACHE STRING "") + set(KINETO_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/kineto/libkineto" CACHE STRING "") + set(KINETO_BUILD_TESTS OFF CACHE BOOL "") + set(KINETO_LIBRARY_TYPE "static" CACHE STRING "") + set(CUDA_SOURCE_DIR "${CUDA_TOOLKIT_ROOT_DIR}" CACHE STRING "") + + message(STATUS "Configuring Kineto dependency:") + message(STATUS " KINETO_SOURCE_DIR = ${KINETO_SOURCE_DIR}") + message(STATUS " KINETO_BUILD_TESTS = ${KINETO_BUILD_TESTS}") + message(STATUS " KINETO_LIBRARY_TYPE = ${KINETO_LIBRARY_TYPE}") + message(STATUS " CUDA_SOURCE_DIR = ${CUDA_SOURCE_DIR}") + + if(EXISTS ${CUDA_SOURCE_DIR}/extras/CUPTI/include) + set(CUPTI_INCLUDE_DIR "${CUDA_SOURCE_DIR}/extras/CUPTI/include") + elseif(EXISTS ${CUDA_SOURCE_DIR}/include/cupti.h) + set(CUPTI_INCLUDE_DIR "${CUDA_SOURCE_DIR}/include") + endif() + + if((NOT DEFINED CUDA_cupti_LIBRARY) OR (${CUDA_cupti_LIBRARY} STREQUAL "CUDA_cupti_LIBRARY-NOTFOUND")) + if(EXISTS ${CUDA_SOURCE_DIR}/extras/CUPTI/lib64/libcupti_static.a) + set(CUDA_cupti_LIBRARY "${CUDA_SOURCE_DIR}/extras/CUPTI/lib64/libcupti_static.a") + elseif(EXISTS ${CUDA_SOURCE_DIR}/lib64/libcupti_static.a) + set(CUDA_cupti_LIBRARY "${CUDA_SOURCE_DIR}/lib64/libcupti_static.a") + elseif(EXISTS ${CUDA_SOURCE_DIR}/extras/CUPTI/lib64/libcupti.so) + set(CUDA_cupti_LIBRARY "${CUDA_SOURCE_DIR}/extras/CUPTI/lib64/libcupti.so") + elseif(EXISTS ${CUDA_SOURCE_DIR}/lib64/libcupti.so) + set(CUDA_cupti_LIBRARY "${CUDA_SOURCE_DIR}/lib64/libcupti.so") + endif() endif() - endif() - - if(FOUND_CUPTI) message(STATUS " CUDA_cupti_LIBRARY = ${CUDA_cupti_LIBRARY}") message(STATUS " CUPTI_INCLUDE_DIR = ${CUPTI_INCLUDE_DIR}") - if(NOT TARGET kineto) - add_subdirectory("${KINETO_SOURCE_DIR}") - message(STATUS "Configured Kineto as a dependency.") - endif() - string(APPEND CMAKE_CXX_FLAGS " -DUSE_KINETO") - list(APPEND Caffe2_DEPENDENCY_LIBS kineto) - else() - message(STATUS "Could not find CUPTI library, skipping Kineto build") - set(USE_KINETO OFF) + add_subdirectory("${KINETO_SOURCE_DIR}") + message(STATUS "Configured Kineto as a dependency.") endif() + + list(APPEND Caffe2_DEPENDENCY_LIBS kineto) endif() diff --git a/setup.py b/setup.py index 1fb3c579dcab..01f173d6825b 100644 --- a/setup.py +++ b/setup.py @@ -33,8 +33,8 @@ # USE_FBGEMM=0 # disables the FBGEMM build # -# USE_KINETO=0 -# disables usage of libkineto library for profiling +# USE_KINETO=1 +# enables experimental usage of libkineto # # USE_NUMPY=0 # disables the NumPy build diff --git a/torch/csrc/autograd/profiler_kineto.cpp b/torch/csrc/autograd/profiler_kineto.cpp index 03c77639504b..1c3c351eeb09 100644 --- a/torch/csrc/autograd/profiler_kineto.cpp +++ b/torch/csrc/autograd/profiler_kineto.cpp @@ -360,7 +360,7 @@ void ProfilerResult::save(const std::string& path) { bool kinetoAvailable() { #ifdef USE_KINETO - return at::hasCUDA(); + return true; #else return false; #endif