From 2c5c6f382a74538ceb028a61e49ebd01447efaa4 Mon Sep 17 00:00:00 2001 From: psychocrypt <psychocrypt@users.noreply.github.com> Date: Sun, 24 Sep 2017 21:32:09 +0200 Subject: [PATCH] add option to disable CPU backend --- CMakeLists.txt | 13 +++++++++++-- backend/BackendConnector.cpp | 12 +++++++----- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e9cbddd..6ff459f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -43,7 +43,7 @@ option(CMAKE_LINK_STATIC "link as much as possible libraries static" OFF) #option(CUDA_USE_STATIC_CUDA_RUNTIME "Use the static version of the CUDA runtime library if available" OFF) #set(CUDA_USE_STATIC_CUDA_RUNTIME OFF CACHE BOOL "Use the static version of the CUDA runtime library if available" FORCE) -option(CUDA_ENABLE "Enable or disable NVIDIA CUDA support" ON) +option(CUDA_ENABLE "Enable or disable CUDA support (NVIDIA backend)" ON) if(CUDA_ENABLE) find_package(CUDA 7.5 QUIET) @@ -155,7 +155,7 @@ list(APPEND CMAKE_PREFIX_PATH "$ENV{CMAKE_PREFIX_PATH}") # Find OpenCL ############################################################################### -option(OpenCL_ENABLE "Enable or disable the requirement of hwloc" ON) +option(OpenCL_ENABLE "Enable or disable OpenCL spport (AMD GPU support)" ON) if(OpenCL_ENABLE) find_package(OpenCL QUIET) if(OpenCL_FOUND) @@ -169,6 +169,15 @@ else() add_definitions("-DCONF_NO_OPENCL") endif() +############################################################################### +# CPU backend +############################################################################### + +option(CPU_ENABLE "Enable or disable CPU support" ON) +if(NOT CPU_ENABLE) + add_definitions("-DCONF_NO_CPU") +endif() + ################################################################################ # Find PThreads ################################################################################ diff --git a/backend/BackendConnector.cpp b/backend/BackendConnector.cpp index bb03e69..6abc379 100644 --- a/backend/BackendConnector.cpp +++ b/backend/BackendConnector.cpp @@ -62,11 +62,6 @@ std::vector<IBackend*>* BackendConnector::thread_starter(miner_work& pWork) std::vector<IBackend*>* pvThreads = new std::vector<IBackend*>; - auto cpuThreads = cpu::minethd::thread_starter(static_cast<uint32_t>(pvThreads->size()), pWork); - pvThreads->insert(std::end(*pvThreads), std::begin(cpuThreads), std::end(cpuThreads)); - if(cpuThreads.size() == 0) - printer::inst()->print_msg(L0, "WARNING: backend CPU disabled."); - #ifndef CONF_NO_CUDA Plugin nvidiaPlugin("NVIDIA", "libxmrstak_cuda_backend"); std::vector<IBackend*>* nvidiaThreads = nvidiaPlugin.startBackend(static_cast<uint32_t>(pvThreads->size()), pWork); @@ -82,6 +77,13 @@ std::vector<IBackend*>* BackendConnector::thread_starter(miner_work& pWork) if(amdThreads->size() == 0) printer::inst()->print_msg(L0, "WARNING: backend AMD disabled."); #endif + +#ifndef CONF_NO_CPU + auto cpuThreads = cpu::minethd::thread_starter(static_cast<uint32_t>(pvThreads->size()), pWork); + pvThreads->insert(std::end(*pvThreads), std::begin(cpuThreads), std::end(cpuThreads)); + if(cpuThreads.size() == 0) + printer::inst()->print_msg(L0, "WARNING: backend CPU disabled."); +#endif GlobalStates::iThreadCount = pvThreads->size(); return pvThreads; -- GitLab