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