xref: /aosp_15_r20/external/pytorch/cmake/Summary.cmake (revision da0073e96a02ea20f0ac840b70461e3646d07c45)
1# Prints accumulated Caffe2 configuration summary
2function(caffe2_print_configuration_summary)
3  message(STATUS "")
4  message(STATUS "******** Summary ********")
5  message(STATUS "General:")
6  message(STATUS "  CMake version         : ${CMAKE_VERSION}")
7  message(STATUS "  CMake command         : ${CMAKE_COMMAND}")
8  message(STATUS "  System                : ${CMAKE_SYSTEM_NAME}")
9  message(STATUS "  C++ compiler          : ${CMAKE_CXX_COMPILER}")
10  message(STATUS "  C++ compiler id       : ${CMAKE_CXX_COMPILER_ID}")
11  message(STATUS "  C++ compiler version  : ${CMAKE_CXX_COMPILER_VERSION}")
12  message(STATUS "  Using ccache if found : ${USE_CCACHE}")
13  if(USE_CCACHE)
14    message(STATUS "  Found ccache          : ${CCACHE_PROGRAM}")
15  endif()
16  message(STATUS "  CXX flags             : ${CMAKE_CXX_FLAGS}")
17  message(STATUS "  Shared LD flags       : ${CMAKE_SHARED_LINKER_FLAGS}")
18  message(STATUS "  Static LD flags       : ${CMAKE_STATIC_LINKER_FLAGS}")
19  message(STATUS "  Module LD flags       : ${CMAKE_MODULE_LINKER_FLAGS}")
20  message(STATUS "  Build type            : ${CMAKE_BUILD_TYPE}")
21  get_directory_property(tmp DIRECTORY ${PROJECT_SOURCE_DIR} COMPILE_DEFINITIONS)
22  message(STATUS "  Compile definitions   : ${tmp}")
23  message(STATUS "  CMAKE_PREFIX_PATH     : ${CMAKE_PREFIX_PATH}")
24  message(STATUS "  CMAKE_INSTALL_PREFIX  : ${CMAKE_INSTALL_PREFIX}")
25  message(STATUS "  USE_GOLD_LINKER       : ${USE_GOLD_LINKER}")
26  message(STATUS "")
27
28  message(STATUS "  TORCH_VERSION         : ${TORCH_VERSION}")
29  message(STATUS "  BUILD_STATIC_RUNTIME_BENCHMARK: ${BUILD_STATIC_RUNTIME_BENCHMARK}")
30  message(STATUS "  BUILD_BINARY          : ${BUILD_BINARY}")
31  message(STATUS "  BUILD_CUSTOM_PROTOBUF : ${BUILD_CUSTOM_PROTOBUF}")
32  if(${CAFFE2_LINK_LOCAL_PROTOBUF})
33    message(STATUS "    Link local protobuf : ${CAFFE2_LINK_LOCAL_PROTOBUF}")
34  else()
35    message(STATUS "    Protobuf compiler   : ${PROTOBUF_PROTOC_EXECUTABLE}")
36    message(STATUS "    Protobuf includes   : ${PROTOBUF_INCLUDE_DIRS}")
37    message(STATUS "    Protobuf libraries  : ${PROTOBUF_LIBRARIES}")
38  endif()
39  message(STATUS "  BUILD_PYTHON          : ${BUILD_PYTHON}")
40  if(${BUILD_PYTHON})
41    message(STATUS "    Python version      : ${Python_VERSION}")
42    message(STATUS "    Python executable   : ${Python_EXECUTABLE}")
43    message(STATUS "    Python library      : ${Python_LIBRARIES}")
44    message(STATUS "    Python includes     : ${Python_INCLUDE_DIRS}")
45    message(STATUS "    Python site-package : ${Python_SITELIB}")
46  endif()
47  message(STATUS "  BUILD_SHARED_LIBS     : ${BUILD_SHARED_LIBS}")
48  message(STATUS "  CAFFE2_USE_MSVC_STATIC_RUNTIME     : ${CAFFE2_USE_MSVC_STATIC_RUNTIME}")
49  message(STATUS "  BUILD_TEST            : ${BUILD_TEST}")
50  message(STATUS "  BUILD_JNI             : ${BUILD_JNI}")
51  message(STATUS "  BUILD_MOBILE_AUTOGRAD : ${BUILD_MOBILE_AUTOGRAD}")
52  message(STATUS "  BUILD_LITE_INTERPRETER: ${BUILD_LITE_INTERPRETER}")
53  if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
54    message(STATUS "  CROSS_COMPILING_MACOSX : ${CROSS_COMPILING_MACOSX}")
55  endif()
56  message(STATUS "  INTERN_BUILD_MOBILE   : ${INTERN_BUILD_MOBILE}")
57  message(STATUS "  TRACING_BASED         : ${TRACING_BASED}")
58
59  message(STATUS "  USE_BLAS              : ${USE_BLAS}")
60  if(${USE_BLAS})
61    message(STATUS "    BLAS                : ${BLAS_INFO}")
62    message(STATUS "    BLAS_HAS_SBGEMM     : ${BLAS_HAS_SBGEMM}")
63  endif()
64  message(STATUS "  USE_LAPACK            : ${USE_LAPACK}")
65  if(${USE_LAPACK})
66    message(STATUS "    LAPACK              : ${LAPACK_INFO}")
67  endif()
68  message(STATUS "  USE_ASAN              : ${USE_ASAN}")
69  message(STATUS "  USE_TSAN              : ${USE_TSAN}")
70  message(STATUS "  USE_CPP_CODE_COVERAGE : ${USE_CPP_CODE_COVERAGE}")
71  message(STATUS "  USE_CUDA              : ${USE_CUDA}")
72  if(${USE_CUDA})
73    message(STATUS "    Split CUDA          : ${BUILD_SPLIT_CUDA}")
74    message(STATUS "    CUDA static link    : ${CAFFE2_STATIC_LINK_CUDA}")
75    message(STATUS "    USE_CUDNN           : ${USE_CUDNN}")
76    message(STATUS "    USE_CUSPARSELT      : ${USE_CUSPARSELT}")
77    message(STATUS "    USE_CUDSS           : ${USE_CUDSS}")
78    message(STATUS "    USE_CUFILE          : ${USE_CUFILE}")
79    message(STATUS "    CUDA version        : ${CUDA_VERSION}")
80    message(STATUS "    USE_FLASH_ATTENTION : ${USE_FLASH_ATTENTION}")
81    message(STATUS "    USE_MEM_EFF_ATTENTION : ${USE_MEM_EFF_ATTENTION}")
82    if(${USE_CUDNN})
83      message(STATUS "    cuDNN version       : ${CUDNN_VERSION}")
84    endif()
85    if(${USE_CUSPARSELT})
86      message(STATUS "    cuSPARSELt version  : ${CUSPARSELT_VERSION}")
87    endif()
88    if(${USE_CUFILE})
89      message(STATUS "    cufile library    : ${CUDA_cuFile_LIBRARY}")
90    endif()
91    message(STATUS "    CUDA root directory : ${CUDA_TOOLKIT_ROOT_DIR}")
92    message(STATUS "    CUDA library        : ${CUDA_cuda_driver_LIBRARY}")
93    message(STATUS "    cudart library      : ${CUDA_cudart_LIBRARY}")
94    message(STATUS "    cublas library      : ${CUDA_cublas_LIBRARY}")
95    message(STATUS "    cufft library       : ${CUDA_cufft_LIBRARY}")
96    message(STATUS "    curand library      : ${CUDA_curand_LIBRARY}")
97    message(STATUS "    cusparse library    : ${CUDA_cusparse_LIBRARY}")
98    if(${USE_CUDNN})
99      get_target_property(__tmp torch::cudnn INTERFACE_LINK_LIBRARIES)
100      message(STATUS "    cuDNN library       : ${__tmp}")
101    endif()
102    if(${USE_CUSPARSELT})
103      get_target_property(__tmp torch::cusparselt INTERFACE_LINK_LIBRARIES)
104      message(STATUS "    cuSPARSELt library  : ${__tmp}")
105    endif()
106    if(${USE_CUDSS})
107      get_target_property(__tmp torch::cudss INTERFACE_LINK_LIBRARIES)
108      message(STATUS "    cuDSS library       : ${__tmp}")
109    endif()
110    message(STATUS "    nvrtc               : ${CUDA_nvrtc_LIBRARY}")
111    message(STATUS "    CUDA include path   : ${CUDA_INCLUDE_DIRS}")
112    message(STATUS "    NVCC executable     : ${CUDA_NVCC_EXECUTABLE}")
113    message(STATUS "    CUDA compiler       : ${CMAKE_CUDA_COMPILER}")
114    message(STATUS "    CUDA flags          : ${CMAKE_CUDA_FLAGS}")
115    message(STATUS "    CUDA host compiler  : ${CMAKE_CUDA_HOST_COMPILER}")
116    message(STATUS "    CUDA --device-c     : ${CUDA_SEPARABLE_COMPILATION}")
117    message(STATUS "    USE_TENSORRT        : ${USE_TENSORRT}")
118    if(${USE_TENSORRT})
119      message(STATUS "      TensorRT runtime library: ${TENSORRT_LIBRARY}")
120      message(STATUS "      TensorRT include path   : ${TENSORRT_INCLUDE_DIR}")
121    endif()
122  endif()
123  message(STATUS "  USE_XPU               : ${USE_XPU}")
124  if(${USE_XPU})
125    message(STATUS "    SYCL include path   : ${SYCL_INCLUDE_DIR}")
126    message(STATUS "    SYCL library        : ${SYCL_LIBRARY}")
127  endif()
128  message(STATUS "  USE_ROCM              : ${USE_ROCM}")
129  if(${USE_ROCM})
130    message(STATUS "    ROCM_VERSION        : ${ROCM_VERSION}")
131    message(STATUS "    USE_FLASH_ATTENTION : ${USE_FLASH_ATTENTION}")
132    message(STATUS "    USE_MEM_EFF_ATTENTION : ${USE_MEM_EFF_ATTENTION}")
133  endif()
134  message(STATUS "  BUILD_NVFUSER         : ${BUILD_NVFUSER}")
135  message(STATUS "  USE_EIGEN_FOR_BLAS    : ${CAFFE2_USE_EIGEN_FOR_BLAS}")
136  message(STATUS "  USE_FBGEMM            : ${USE_FBGEMM}")
137  message(STATUS "    USE_FAKELOWP          : ${USE_FAKELOWP}")
138  message(STATUS "  USE_KINETO            : ${USE_KINETO}")
139  message(STATUS "  USE_GFLAGS            : ${USE_GFLAGS}")
140  message(STATUS "  USE_GLOG              : ${USE_GLOG}")
141  message(STATUS "  USE_LITE_PROTO        : ${USE_LITE_PROTO}")
142  message(STATUS "  USE_PYTORCH_METAL     : ${USE_PYTORCH_METAL}")
143  message(STATUS "  USE_PYTORCH_METAL_EXPORT     : ${USE_PYTORCH_METAL_EXPORT}")
144  message(STATUS "  USE_MPS               : ${USE_MPS}")
145  message(STATUS "  USE_MKL               : ${CAFFE2_USE_MKL}")
146  message(STATUS "  USE_MKLDNN            : ${USE_MKLDNN}")
147  if(${USE_MKLDNN})
148    message(STATUS "  USE_MKLDNN_ACL        : ${USE_MKLDNN_ACL}")
149    message(STATUS "  USE_MKLDNN_CBLAS      : ${USE_MKLDNN_CBLAS}")
150  endif()
151  message(STATUS "  USE_UCC               : ${USE_UCC}")
152  if(${USE_UCC})
153    message(STATUS "    USE_SYSTEM_UCC        : ${USE_SYSTEM_UCC}")
154  endif()
155  message(STATUS "  USE_ITT               : ${USE_ITT}")
156  message(STATUS "  USE_NCCL              : ${USE_NCCL}")
157  if(${USE_NCCL})
158    message(STATUS "    USE_SYSTEM_NCCL     : ${USE_SYSTEM_NCCL}")
159  endif()
160  message(STATUS "  USE_NNPACK            : ${USE_NNPACK}")
161  message(STATUS "  USE_NUMPY             : ${USE_NUMPY}")
162  message(STATUS "  USE_OBSERVERS         : ${USE_OBSERVERS}")
163  message(STATUS "  USE_OPENCL            : ${USE_OPENCL}")
164  message(STATUS "  USE_OPENMP            : ${USE_OPENMP}")
165  message(STATUS "  USE_MIMALLOC          : ${USE_MIMALLOC}")
166  message(STATUS "  USE_VULKAN            : ${USE_VULKAN}")
167  if(${USE_VULKAN})
168    message(STATUS "    USE_VULKAN_FP16_INFERENCE    : ${USE_VULKAN_FP16_INFERENCE}")
169    message(STATUS "    USE_VULKAN_RELAXED_PRECISION : ${USE_VULKAN_RELAXED_PRECISION}")
170  endif()
171  message(STATUS "  USE_PROF              : ${USE_PROF}")
172  message(STATUS "  USE_PYTORCH_QNNPACK   : ${USE_PYTORCH_QNNPACK}")
173  message(STATUS "  USE_XNNPACK           : ${USE_XNNPACK}")
174  message(STATUS "  USE_DISTRIBUTED       : ${USE_DISTRIBUTED}")
175  if(${USE_DISTRIBUTED})
176    message(STATUS "    USE_MPI               : ${USE_MPI}")
177    message(STATUS "    USE_GLOO              : ${USE_GLOO}")
178    message(STATUS "    USE_GLOO_WITH_OPENSSL : ${USE_GLOO_WITH_OPENSSL}")
179    message(STATUS "    USE_TENSORPIPE        : ${USE_TENSORPIPE}")
180  endif()
181  if(NOT "${SELECTED_OP_LIST}" STREQUAL "")
182    message(STATUS "  SELECTED_OP_LIST    : ${SELECTED_OP_LIST}")
183  endif()
184  message(STATUS "  Public Dependencies  : ${Caffe2_PUBLIC_DEPENDENCY_LIBS}")
185  message(STATUS "  Private Dependencies : ${Caffe2_DEPENDENCY_LIBS}")
186  message(STATUS "  Public CUDA Deps.    : ${Caffe2_PUBLIC_CUDA_DEPENDENCY_LIBS}")
187  message(STATUS "  Private CUDA Deps.   : ${Caffe2_CUDA_DEPENDENCY_LIBS}")
188  # coreml
189  message(STATUS "  USE_COREML_DELEGATE     : ${USE_COREML_DELEGATE}")
190  message(STATUS "  BUILD_LAZY_TS_BACKEND   : ${BUILD_LAZY_TS_BACKEND}")
191  message(STATUS "  USE_ROCM_KERNEL_ASSERT : ${USE_ROCM_KERNEL_ASSERT}")
192endfunction()
193