From c795382b1f14392fa4a8809a654e464a426583d7 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Thu, 31 Mar 2022 10:49:40 +0300 Subject: [PATCH] Configurable OpenCL usage in BA (#11344) --- samples/cpp/benchmark_app/CMakeLists.txt | 71 +++++++++++++----------- 1 file changed, 40 insertions(+), 31 deletions(-) diff --git a/samples/cpp/benchmark_app/CMakeLists.txt b/samples/cpp/benchmark_app/CMakeLists.txt index 39f7bf890e2..666b65929da 100644 --- a/samples/cpp/benchmark_app/CMakeLists.txt +++ b/samples/cpp/benchmark_app/CMakeLists.txt @@ -14,39 +14,48 @@ ie_add_sample(NAME ${TARGET_NAME} # Optional OpenCL dependnency -find_package(OpenCL) - -find_path(OpenCL_HPP_INCLUDE_DIR - NAMES - CL/cl2.hpp OpenCL/cl2.hpp - HINTS - ${opencl_root_hints} - ENV "PROGRAMFILES(X86)" - ENV AMDAPPSDKROOT - ENV INTELOCLSDKROOT - ENV NVSDKCOMPUTE_ROOT - ENV CUDA_PATH - ENV ATISTREAMSDKROOT - ENV OCL_ROOT - PATH_SUFFIXES - include - OpenCL/common/inc - "AMD APP/include") - -if(TARGET OpenCL) - # Use OpenCL CPP headers from sources if present - set(OpenCL_HEADERS ${OPENCL_HEADERS_DIR}) - set(OpenCL_LIB "OpenCL") -elseif(OpenCL_HPP_INCLUDE_DIR) - # Append OpenCL CPP headers to C headers and use both - set(OpenCL_HEADERS ${OpenCL_INCLUDE_DIR} ${OpenCL_HPP_INCLUDE_DIR}) - set(OpenCL_LIB "OpenCL::OpenCL") +if(DEFINED ENABLE_INTEL_GPU AND NOT ENABLE_INTEL_GPU) + # Intel GPU plugin is turned off explicitly + option(SAMPLES_ENABLE_OPENCL "Use OpenCL in benchmark_app" OFF) +else() + option(SAMPLES_ENABLE_OPENCL "Use OpenCL in benchmark_app" ON) endif() -if(OpenCL_FOUND AND OpenCL_HEADERS) - target_link_libraries(${TARGET_NAME} PRIVATE ${OpenCL_LIB}) - target_include_directories(${TARGET_NAME} PRIVATE ${OpenCL_HEADERS}) - target_compile_definitions(${TARGET_NAME} PRIVATE HAVE_GPU_DEVICE_MEM_SUPPORT) +if(SAMPLES_ENABLE_OPENCL) + find_package(OpenCL) + + find_path(OpenCL_HPP_INCLUDE_DIR + NAMES + CL/cl2.hpp OpenCL/cl2.hpp + HINTS + ${opencl_root_hints} + ENV "PROGRAMFILES(X86)" + ENV AMDAPPSDKROOT + ENV INTELOCLSDKROOT + ENV NVSDKCOMPUTE_ROOT + ENV CUDA_PATH + ENV ATISTREAMSDKROOT + ENV OCL_ROOT + PATH_SUFFIXES + include + OpenCL/common/inc + "AMD APP/include") + + if(TARGET OpenCL) + # Use OpenCL CPP headers from sources if present + set(OpenCL_HEADERS ${OPENCL_HEADERS_DIR}) + set(OpenCL_LIB "OpenCL") + elseif(OpenCL_HPP_INCLUDE_DIR) + # Append OpenCL CPP headers to C headers and use both + set(OpenCL_HEADERS ${OpenCL_INCLUDE_DIR} ${OpenCL_HPP_INCLUDE_DIR}) + set(OpenCL_LIB "OpenCL::OpenCL") + endif() + + if(OpenCL_FOUND AND OpenCL_HEADERS) + target_link_libraries(${TARGET_NAME} PRIVATE ${OpenCL_LIB}) + target_include_directories(${TARGET_NAME} PRIVATE ${OpenCL_HEADERS}) + target_compile_definitions(${TARGET_NAME} PRIVATE HAVE_GPU_DEVICE_MEM_SUPPORT) + endif() endif() # Optional OpenCV dependency